
/* WARNING: Removing unreachable block (ram,0x002b78a8) */
/* WARNING: Removing unreachable block (ram,0x002b78bc) */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

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

{
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  ClassType *pCVar4;
  uchar uVar5;
  CompressionType *pCVar6;
  Image *pIVar7;
  int iVar8;
  undefined *puVar9;
  double *pdVar10;
  ClassType *pCVar11;
  undefined *puVar12;
  ExceptionInfo *pEVar13;
  Image *pIVar14;
  PixelInfo *pPVar15;
  undefined *puVar16;
  undefined4 uVar17;
  undefined4 *puVar18;
  uint uVar19;
  uint uVar20;
  int iVar21;
  PixelChannelMap *pPVar22;
  byte *pbVar23;
  byte bVar24;
  PixelInfo *pPVar25;
  CompressionType CVar26;
  int iVar27;
  size_t sVar28;
  uint extraout_v1;
  uint extraout_v1_00;
  uint extraout_v1_01;
  uint extraout_v1_02;
  uint extraout_v1_03;
  uint extraout_v1_04;
  uint extraout_v1_05;
  uint extraout_v1_06;
  uint extraout_v1_07;
  byte *pbVar29;
  uint extraout_v1_08;
  byte extraout_v1_10;
  PixelTrait PVar30;
  uint extraout_v1_09;
  PixelInfo *pPVar31;
  ClassType CVar32;
  uint uVar33;
  Image *pIVar34;
  int iVar35;
  ExceptionInfo *pEVar36;
  int iVar37;
  undefined4 uVar38;
  ColorspaceType CVar39;
  uint uVar40;
  int iVar41;
  byte bVar42;
  int iVar43;
  uint uVar44;
  size_t sVar45;
  PixelInfo *pPVar46;
  size_t sVar47;
  int iVar48;
  int iVar49;
  int iVar50;
  int iVar51;
  int iVar52;
  byte *pbVar53;
  Image *pIVar54;
  int iVar55;
  int iVar56;
  PixelInfo *pPVar57;
  CompressionType CVar58;
  uint uVar59;
  int iVar60;
  undefined *puVar61;
  code *pcVar62;
  double dVar63;
  float fVar65;
  double dVar64;
  double dVar66;
  double dVar67;
  float fVar68;
  float fVar69;
  double dVar70;
  double dVar71;
  double dVar72;
  double dVar73;
  ulonglong uVar74;
  double dVar75;
  double dVar76;
  double dVar77;
  double dVar78;
  double dVar79;
  undefined8 uVar80;
  size_t sStack_1ec;
  uint uStack_1c8;
  uint uStack_1a0;
  ExceptionInfo *local_f8;
  ExceptionInfo *local_f0;
  uint local_ec;
  ExceptionInfo *local_e4;
  uchar runlength;
  TGAInfo tga_info;
  PixelInfo pixel;
  uchar pixels [4];
  
  puVar61 = PTR___stack_chk_guard_003a9230;
  pCVar6 = *(CompressionType **)PTR___stack_chk_guard_003a9230;
  if (image_info == (ImageInfo *)0x0) {
    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xd78,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pIVar34;
  }
  if (image_info->signature != 0xabacadab) {
    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xda0,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pIVar34;
  }
  if (image_info->debug != MagickFalse) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,
               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,
               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x1cac,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pIVar34;
  }
  if (exception->signature != 0xabacadab) {
    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x294c,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pIVar34;
  }
  pIVar7 = (Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception);
  pEVar36 = (ExceptionInfo *)0x2;
  pIVar34 = pIVar7;
  iVar8 = (*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception);
  if (iVar8 == 0) {
    pIVar54 = (Image *)0x0;
    (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);
    goto LAB_002b6964;
  }
  iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length);
  tga_info.colormap_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
  tga_info.image_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
  if (iVar8 == 1) {
    if (tga_info.image_type - TGAColormap < 3) {
      if (tga_info.image_type == TGAColormap) {
LAB_002b69c0:
        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;
      }
    }
    else {
      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;
      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;
    }
    tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);
    tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);
    tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
    tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);
    tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);
    tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);
    tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);
    tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
    tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);
    if (iVar8 != 0) {
      uVar38 = 0xe8;
      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;
      goto LAB_002b6920;
    }
    pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;
    if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||
       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {
      uVar38 = 0xeb;
      goto LAB_002b68f4;
    }
    pIVar7->columns = (uint)tga_info.width;
    pIVar7->rows = (uint)tga_info.height;
    if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {
LAB_002b6bac:
      sVar45 = 5;
      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {
        sVar45 = 8;
      }
      pIVar7->depth = sVar45;
    }
    else {
      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {
        PVar30 = BlendPixelTrait;
        if (tga_info.colormap_size != ' ') {
          PVar30 = UndefinedPixelTrait;
        }
      }
      else {
        PVar30 = BlendPixelTrait;
      }
      pIVar7->alpha_trait = PVar30;
      if (tga_info.image_type == TGAColormap) {
        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {
          pIVar7->depth = 5;
          pIVar7->storage_class = PseudoClass;
          goto LAB_002b6bc4;
        }
LAB_002b6b10:
        pIVar7->depth = 8;
      }
      else {
        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;
        if (tga_info.colormap_size < 9) goto LAB_002b6b10;
        if (tga_info.colormap_size < 0x11) {
          pIVar7->depth = 5;
        }
        else {
          pIVar7->depth = 8;
        }
      }
      pIVar7->storage_class = PseudoClass;
    }
LAB_002b6bc4:
    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {
      pIVar7->type = GrayscaleType;
      pIVar7->compression = NoCompression;
      pIVar7->colorspace = GRAYColorspace;
      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;
LAB_002b7100:
      pIVar7->compression = RLECompression;
    }
    else {
      pIVar7->compression = NoCompression;
      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;
LAB_002b6be8:
      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;
    }
    puVar9 = PTR_GetBlobSize_003a94b8;
    pEVar36 = (ExceptionInfo *)tga_info.image_type;
    if (pIVar7->storage_class == PseudoClass) {
      if (tga_info.colormap_type != '\0') {
        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;
        goto LAB_002b6c00;
      }
      uVar19 = 1 << ((uint)pIVar34 & 0x1f);
      pIVar7->colors = uVar19;
      uVar80 = (*(code *)puVar9)(pIVar7);
      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {
        pIVar34 = (Image *)pIVar7->colors;
        pEVar36 = exception;
        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);
        if (iVar8 != 0) goto LAB_002b6c00;
        uVar38 = 0x11c;
        goto LAB_002b7224;
      }
      uVar38 = 0x11a;
      puVar9 = PTR_LAB_003a88e0 + 0x3e28;
      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
      puVar16 = PTR_s_courses_003a88ec + 0x4a0;
      uVar17 = 0x1a9;
LAB_002b725c:
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);
      goto LAB_002b6944;
    }
LAB_002b6c00:
    pIVar54 = (Image *)(uint)tga_info.id_length;
    if (pIVar54 != (Image *)0x0) {
      pEVar13 = (ExceptionInfo *)
                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);
      if (pEVar13 != (ExceptionInfo *)0x0) {
        pIVar34 = pIVar54;
        pEVar36 = pEVar13;
        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);
        puVar9 = PTR_SetImageProperty_003a9534;
        if (pIVar54 == pIVar14) {
          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);
          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;
          pEVar36 = pEVar13;
          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);
        }
        (*(code *)PTR_DestroyString_003a9074)(pEVar13);
        goto LAB_002b6c0c;
      }
      uVar38 = 0x130;
LAB_002b7224:
      puVar9 = PTR_LAB_003a88e0 + 0x3e28;
      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
      puVar16 = PTR_LAB_003a88e0 + 0x16f8;
      uVar17 = 400;
      goto LAB_002b725c;
    }
LAB_002b6c0c:
    pIVar7->orientation = BottomLeftOrientation;
    if ((tga_info.attributes & 0x10) == 0) {
      if ((tga_info.attributes & 0x20) != 0) {
        pIVar7->orientation = TopLeftOrientation;
      }
    }
    else if ((tga_info.attributes & 0x20) == 0) {
      pIVar7->orientation = BottomRightOrientation;
    }
    else {
      pIVar7->orientation = TopRightOrientation;
    }
    if (image_info->ping == MagickFalse) {
      pEVar36 = (ExceptionInfo *)pIVar7->rows;
      pIVar34 = (Image *)pIVar7->columns;
      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);
      puVar9 = PTR_LAB_003a88e0;
      if (iVar8 == 0) {
        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);
      }
      else {
        pEVar36 = (ExceptionInfo *)0x58;
        pIVar34 = (Image *)0x0;
        (*(code *)PTR_memset_003a96d4)(&pixel);
        puVar16 = PTR_AcquireImageColormap_003a9194;
        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);
        if (tga_info.colormap_type != '\0') {
          pIVar54 = (Image *)(uint)tga_info.colormap_index;
          pIVar34 = (Image *)pIVar7->colors;
          if ((Image *)pIVar7->colors < pIVar54) {
            pIVar7->colors = (size_t)pIVar54;
            pIVar34 = pIVar54;
          }
          pEVar36 = exception;
          iVar8 = (*(code *)puVar16)(pIVar7);
          if (iVar8 == 0) {
            uVar38 = 0x15a;
            goto LAB_002b7224;
          }
          uVar19 = (uint)tga_info.colormap_index;
          if (uVar19 != 0) {
            pPVar31 = pIVar7->colormap;
            pPVar46 = pPVar31 + uVar19;
            pPVar57 = &pixel;
            pPVar15 = pPVar31;
            do {
              do {
                pPVar25 = pPVar15;
                pdVar10 = &pPVar57->fuzz;
                CVar39 = pPVar57->colorspace;
                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;
                uVar38 = *(undefined4 *)&pPVar57->field_0xc;
                pPVar25->storage_class = pPVar57->storage_class;
                pPVar25->colorspace = CVar39;
                pPVar25->alpha_trait = (PixelTrait)pEVar36;
                *(undefined4 *)&pPVar25->field_0xc = uVar38;
                pPVar57 = (PixelInfo *)pdVar10;
                pPVar15 = (PixelInfo *)&pPVar25->fuzz;
              } while (pdVar10 != &pixel.index);
              pPVar31 = pPVar31 + 1;
              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;
              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;
              pPVar57 = &pixel;
              pPVar15 = pPVar31;
              pIVar34 = pixel.index._0_4_;
            } while (pPVar46 != pPVar31);
          }
          if ((int)uVar19 < (int)pIVar7->colors) {
            iVar8 = uVar19 * 0x58;
            dVar75 = *(double *)(puVar9 + 0x1a58);
            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);
            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);
            dVar77 = dVar70;
            dVar79 = dVar70;
            do {
              uVar44 = (uint)tga_info.colormap_size;
              if (uVar44 == 0x18) {
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.red = (double)(float)((double)bVar42 * dVar70);
              }
              else if (uVar44 < 0x19) {
                if (uVar44 - 0xf < 2) {
                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);
                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);
                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))
                                                * dVar72 * dVar75);
                }
                else {
LAB_002b7684:
                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);
                  pixel.green = pixel.red;
                  pixel.blue = pixel.red;
                }
              }
              else {
                if (uVar44 != 0x20) goto LAB_002b7684;
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);
                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);
                pixel.alpha = (double)(float)((double)bVar42 * dVar77);
              }
              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);
              pPVar57 = &pixel;
              do {
                pCVar11 = pCVar4;
                pdVar10 = &pPVar57->fuzz;
                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;
                pIVar34 = (Image *)pPVar57->alpha_trait;
                CVar32 = *(ClassType *)&pPVar57->field_0xc;
                *pCVar11 = pPVar57->storage_class;
                pCVar11[1] = (ClassType)pEVar36;
                pCVar11[2] = (ClassType)pIVar34;
                pCVar11[3] = CVar32;
                pCVar4 = pCVar11 + 4;
                pPVar57 = (PixelInfo *)pdVar10;
              } while (pdVar10 != &pixel.index);
              uVar19 = uVar19 + 1;
              pCVar11[4] = (ClassType)pixel.index._0_4_;
              pCVar11[5] = pixel.index._4_4_;
              iVar8 = iVar8 + 0x58;
            } while ((int)uVar19 < (int)pIVar7->colors);
          }
        }
        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;
        runlength = '\0';
        if (0 < (int)pIVar7->rows) {
          uVar74 = 0;
          bVar1 = false;
          bVar2 = false;
          local_f0 = (ExceptionInfo *)0x0;
          local_ec = 0;
          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);
          local_f8 = (ExceptionInfo *)0x0;
          local_e4 = (ExceptionInfo *)0x0;
          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);
          puVar12 = PTR_LAB_003a88e0 + 0x3e28;
          do {
            pIVar34 = (Image *)0x0;
            pEVar36 = local_f8;
            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)
                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);
            puVar3 = PTR_s_t_to_left_003a88e4;
            if (iVar8 == 0) break;
            sVar45 = pIVar7->columns;
            if (0 < (int)sVar45) {
              iVar43 = 0;
              dVar70 = *(double *)(puVar16 + -0x5af0);
              do {
                uVar5 = runlength;
                if ((tga_info.image_type - TGARLEColormap < 3) &&
                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {
                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);
                  if (iVar27 == 1) {
                    if ((char)runlength < '\0') {
                      bVar2 = true;
                      runlength = runlength + 0x80;
                    }
                    else {
                      bVar2 = false;
                    }
                    goto LAB_002b6fd4;
                  }
                  uVar38 = 0x1bd;
LAB_002b7920:
                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;
                  pEVar36 = (ExceptionInfo *)
                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;
                  uVar17 = 0x1a9;
                  goto LAB_002b725c;
                }
                runlength = uVar5;
                if (bVar1) {
                  CVar32 = pIVar7->storage_class;
                  PVar30 = pIVar7->alpha_trait;
                  dVar72 = pixel.blue;
                  dVar75 = pixel.green;
                  dVar76 = pixel.red;
LAB_002b6f24:
                  pPVar22 = pIVar7->channel_map;
                  if (CVar32 == PseudoClass) {
LAB_002b72e8:
                    if (pPVar22[5].traits != UndefinedPixelTrait) {
                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;
                    }
                  }
                }
                else {
LAB_002b6fd4:
                  uVar19 = (uint)tga_info.bits_per_pixel;
                  if (uVar19 == 0x18) {
                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);
                    if (iVar27 != 3) {
                      uVar38 = 0x1ff;
                      goto LAB_002b7920;
                    }
                    bVar1 = false;
                    CVar32 = pIVar7->storage_class;
                    PVar30 = pIVar7->alpha_trait;
                    sVar45 = pIVar7->columns;
                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);
                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);
                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);
                    dVar72 = pixel.blue;
                    dVar75 = pixel.green;
                    dVar76 = pixel.red;
                    goto LAB_002b6f24;
                  }
                  if (0x18 < uVar19) {
                    if (uVar19 == 0x20) {
                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);
                      if (iVar27 != 4) {
                        uVar38 = 0x20b;
                        goto LAB_002b7920;
                      }
                      bVar1 = false;
                      sVar45 = pIVar7->columns;
                      CVar32 = pIVar7->storage_class;
                      dVar72 = *(double *)(puVar16 + -0x5af0);
                      PVar30 = pIVar7->alpha_trait;
                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);
                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);
                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);
                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);
                      dVar72 = pixel.blue;
                      dVar75 = pixel.green;
                      dVar76 = pixel.red;
                      goto LAB_002b6f24;
                    }
LAB_002b747c:
                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);
                    if (iVar27 != 1) {
                      uVar38 = 0x1ce;
                      goto LAB_002b7920;
                    }
                    uVar19 = (uint)pixels[0];
                    uVar74 = (ulonglong)(uint)(float)uVar19;
                    if (tga_info.colormap_type == '\0') {
                      CVar32 = pIVar7->storage_class;
                      bVar1 = false;
                      PVar30 = pIVar7->alpha_trait;
                      sVar45 = pIVar7->columns;
                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);
                      dVar72 = pixel.red;
                      dVar75 = pixel.red;
                      dVar76 = pixel.red;
                      pixel.green = pixel.red;
                      pixel.blue = pixel.red;
                    }
                    else {
                      pPVar57 = pIVar7->colormap;
                      if ((int)uVar19 < (int)pIVar7->colors) {
                        pPVar57 = pPVar57 + uVar19;
                      }
                      else if (exception->severity != CorruptImageError) {
                        (*(code *)PTR_ThrowMagickException_003a8f20)
                                  (exception,PTR_s_courses_003a88ec + 0x6f4,
                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,
                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);
                      }
                      pPVar15 = pPVar57;
                      pPVar31 = &pixel;
                      do {
                        pPVar25 = pPVar31;
                        pPVar46 = pPVar15;
                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;
                        CVar39 = pPVar46->colorspace;
                        PVar30 = pPVar46->alpha_trait;
                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;
                        pPVar25->storage_class = pPVar46->storage_class;
                        pPVar25->colorspace = CVar39;
                        pPVar25->alpha_trait = PVar30;
                        *(undefined4 *)&pPVar25->field_0xc = uVar38;
                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;
                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);
                      bVar1 = false;
                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);
                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;
                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;
                      CVar32 = pIVar7->storage_class;
                      PVar30 = pIVar7->alpha_trait;
                      sVar45 = pIVar7->columns;
                      dVar72 = pixel.blue;
                      dVar75 = pixel.green;
                      dVar76 = pixel.red;
                    }
                    goto LAB_002b6f24;
                  }
                  if (1 < uVar19 - 0xf) goto LAB_002b747c;
                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);
                  if (iVar27 != 2) {
                    uVar38 = 0x1e8;
                    goto LAB_002b7920;
                  }
                  uVar19 = (uint)pixels[1];
                  PVar30 = pIVar7->alpha_trait;
                  dVar63 = *(double *)(puVar9 + 0x1a58);
                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);
                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *
                                           dVar77 * dVar63);
                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);
                  if ((PVar30 != UndefinedPixelTrait) &&
                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {
                    pixel.alpha = 0.0;
                  }
                  bVar1 = false;
                  pixel.red = dVar76;
                  pixel.green = dVar75;
                  pixel.blue = dVar72;
                  if (pIVar7->storage_class == PseudoClass) {
                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];
                    if (iVar27 < (int)pIVar7->colors) {
                      uVar74 = (ulonglong)(uint)(float)iVar27;
                    }
                    else {
                      if (exception->severity != CorruptImageError) {
                        uVar74 = 0;
                        bVar1 = false;
                        (*(code *)PTR_ThrowMagickException_003a8f20)
                                  (exception,PTR_s_courses_003a88ec + 0x6f4,
                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,
                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);
                        CVar32 = pIVar7->storage_class;
                        PVar30 = pIVar7->alpha_trait;
                        sVar45 = pIVar7->columns;
                        goto LAB_002b6f24;
                      }
                      uVar74 = 0;
                    }
                    pPVar22 = pIVar7->channel_map;
                    bVar1 = false;
                    sVar45 = pIVar7->columns;
                    goto LAB_002b72e8;
                  }
                  pPVar22 = pIVar7->channel_map;
                  sVar45 = pIVar7->columns;
                }
                iVar27 = pPVar22[2].offset;
                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);
                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;
                pEVar36->severity = (ExceptionType)(float)dVar75;
                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;
                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {
                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;
                }
                iVar43 = iVar43 + 1;
                iVar8 = iVar8 + pIVar7->number_channels * 4;
              } while (iVar43 < (int)sVar45);
            }
            if (tga_info.attributes >> 6 == 2) {
              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);
            }
            else {
              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);
            }
            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {
              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);
              local_e4 = local_f8;
            }
            pIVar34 = (Image *)exception;
            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);
            if (iVar8 == 0) break;
            sVar45 = pIVar7->rows;
            if (pIVar7->previous == (_Image *)0x0) {
              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);
              pEVar36 = local_f0;
              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)
                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);
              if (iVar8 == 0) break;
              sVar45 = pIVar7->rows;
            }
            uVar19 = local_ec + 1;
            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));
            local_ec = uVar19;
          } while ((int)uVar19 < (int)sVar45);
        }
        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);
        if (iVar8 != 0) {
          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);
          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
          (*(code *)PTR_ThrowMagickException_003a8f20)
                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,
                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);
          (*(code *)PTR_DestroyString_003a9074)(uVar38);
        }
        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);
        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);
      }
    }
    else {
      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);
      pIVar54 = pIVar7;
    }
  }
  else {
LAB_002b68ec:
    uVar38 = 0xdd;
LAB_002b68f4:
    puVar9 = PTR_s_courses_003a88ec + -400;
LAB_002b6920:
    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,
               image_info->filename);
    if (pIVar7 != (Image *)0x0) {
LAB_002b6944:
      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);
      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);
    }
    pIVar54 = (Image *)0x0;
  }
LAB_002b6964:
  if (pCVar6 == *(CompressionType **)puVar61) {
    return pIVar54;
  }
  puVar61 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (pCVar6 == (CompressionType *)0x0) {
    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))
                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);
    return pIVar34;
  }
  iVar8 = *(int *)(puVar61 + 0xf0e38);
  if (pCVar6[0xc85] != 0xabacadab) {
    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))
                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);
    return pIVar34;
  }
  if (pIVar34 == (Image *)0x0) {
    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))
                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);
    return pIVar34;
  }
  if (pIVar34->signature != 0xabacadab) {
    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))
                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);
    return pIVar34;
  }
  if (pIVar34->debug != MagickFalse) {
    (**(code **)(puVar61 + 0xf16cc))
              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,
               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);
  }
  if (pEVar36 == (ExceptionInfo *)0x0) {
    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))
                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);
    return pIVar34;
  }
  if (pEVar36->signature != 0xabacadab) {
    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))
                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,
                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);
    return pIVar34;
  }
  iVar8 = (**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36);
  if (iVar8 == 0) {
    return (Image *)0x0;
  }
  if ((0xffff < pIVar34->columns) || (0xffff < pIVar34->rows)) {
    (**(code **)(puVar61 + 0xf140c))
              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,
               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28
               ,pIVar34->filename);
    pIVar7 = pIVar34;
    if (pCVar6[3] == UndefinedCompression) {
      pcVar62 = *(code **)(puVar61 + 0xf1b74);
    }
    else {
      do {
        pIVar34 = pIVar7;
        pcVar62 = *(code **)(puVar61 + 0xf1b74);
        pIVar7 = pIVar34->previous;
      } while (pIVar34->previous != (_Image *)0x0);
    }
    goto LAB_002b7c64;
  }
  (**(code **)(puVar61 + 0xf166c))(pIVar34,0x17,pEVar36);
  CVar26 = *pCVar6;
  if (*pCVar6 == UndefinedCompression) {
    CVar26 = pIVar34->compression;
  }
  iVar8 = (**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36);
  if (iVar8 == 0) {
    uVar19 = 0;
  }
  else {
    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);
    if (uVar19 < 0xff) {
      uVar19 = uVar19 & 0xff;
    }
    else {
      uVar19 = 0xff;
    }
  }
  uVar59 = pIVar34->columns;
  uVar44 = pIVar34->rows;
  sVar45 = uVar59;
  if (((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||
     (pIVar34->alpha_trait != UndefinedPixelTrait)) {
LAB_002b7d90:
    if (pIVar34->storage_class != DirectClass) {
      uVar33 = 9;
      if (pIVar34->colors < 0x101) {
        bVar42 = 0;
        uVar38 = 8;
        if (CVar26 != RLECompression) {
          uVar33 = 1;
        }
        uVar20 = 0x10;
        iVar43 = 1;
        uVar40 = pIVar34->colors & 0xffff;
        if (pCVar6[0xc] != DXT3Compression) {
          uVar20 = 0x18;
        }
        goto LAB_002b7de4;
      }
    }
    uVar33 = 10;
    PVar30 = pIVar34->alpha_trait;
    if (CVar26 != RLECompression) {
      uVar33 = 2;
    }
    if (pCVar6[0xc] == DXT3Compression) {
      bVar42 = PVar30 != UndefinedPixelTrait;
      uVar20 = 0;
      uVar38 = 0x10;
      uVar40 = 0;
      iVar43 = 0;
    }
    else {
      uVar38 = 0x18;
      bVar42 = 8;
      if (PVar30 != UndefinedPixelTrait) {
        uVar38 = 0x20;
      }
      uVar20 = 0;
      uVar40 = 0;
      if (PVar30 == UndefinedPixelTrait) {
        bVar42 = 0;
      }
      iVar43 = 0;
    }
  }
  else {
    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);
    sVar45 = pIVar34->columns;
    if (iVar43 == 0) goto LAB_002b7d90;
    bVar42 = 0;
    uVar38 = 8;
    uVar33 = 0xb;
    uVar20 = 0;
    if (CVar26 != RLECompression) {
      uVar33 = 3;
    }
    uVar40 = 0;
    iVar43 = 0;
  }
LAB_002b7de4:
  if (pIVar34->orientation - TopRightOrientation < 2) {
    bVar42 = bVar42 | 0x10;
  }
  if (pIVar34->orientation < BottomRightOrientation) {
    bVar42 = bVar42 | 0x20;
  }
  if ((sVar45 < 0x10000) && (pIVar34->rows < 0x10000)) {
    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);
    (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);
    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);
    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);
    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);
    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);
    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);
    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);
    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);
    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);
    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);
    (**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);
    if (uVar19 != 0) {
      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);
    }
    if (iVar43 != 0) {
      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);
      if (pbVar23 == (byte *)0x0) {
        (**(code **)(puVar61 + 0xf140c))
                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788
                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,
                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);
        pIVar7 = pIVar34;
        if (pCVar6[3] == UndefinedCompression) {
          pcVar62 = *(code **)(puVar61 + 0xf1b74);
        }
        else {
          do {
            pIVar34 = pIVar7;
            pcVar62 = *(code **)(puVar61 + 0xf1b74);
            pIVar7 = pIVar34->previous;
          } while (pIVar34->previous != (_Image *)0x0);
        }
        goto LAB_002b7c64;
      }
      sVar45 = pIVar34->colors;
      if (0 < (int)sVar45) {
        iVar56 = *(int *)(puVar61 + 0xf0dcc);
        sVar47 = 0;
        iVar21 = *(int *)(puVar61 + 0xf0dcc);
        dVar75 = *(double *)(iVar56 + 0x1400);
        iVar43 = *(int *)(puVar61 + 0xf0dd4);
        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);
        iVar8 = *(int *)(puVar61 + 0xf0dd8);
        dVar73 = *(double *)(iVar43 + -0x5ae8);
        iVar55 = *(int *)(puVar61 + 0xf0dcc);
        dVar63 = *(double *)(iVar8 + -0x62d8);
        iVar27 = *(int *)(puVar61 + 0xf0dcc);
        dVar76 = *(double *)(iVar21 + 0x1a60);
        dVar71 = *(double *)(iVar55 + 0x1410);
        pPVar57 = pIVar34->colormap;
        dVar66 = *(double *)(iVar27 + 0x1a58);
        CVar58 = pCVar6[0xc];
        iVar52 = 0;
        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);
        pbVar53 = pbVar23;
        dVar77 = dVar71;
        dVar79 = dVar78;
        dVar70 = dVar78;
        dVar72 = dVar73;
        do {
          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);
          if (CVar58 == DXT3Compression) {
            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);
            if (fVar68 <= 0.0) {
              bVar42 = 0;
              bVar24 = 0;
            }
            else {
              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /
                       *(double *)(iVar27 + 0x1a58);
              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {
                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));
                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);
                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);
              }
              else {
                bVar42 = 3;
                bVar24 = 0xe0;
              }
            }
            if (0.0 < fVar65) {
              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /
                       *(double *)(iVar27 + 0x1a58);
              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {
                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));
                bVar24 = bVar24 | extraout_v1_10;
              }
              else {
                bVar24 = 0xff;
              }
            }
            PVar30 = pIVar34->alpha_trait;
            *pbVar53 = bVar24;
            if ((PVar30 != UndefinedPixelTrait) &&
               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {
              bVar42 = bVar42 | 0x80;
            }
            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);
            if (0.0 < fVar65) {
              dVar64 = ((double)fVar65 * dVar63) / dVar66;
              if (dVar76 <= dVar64) {
                pbVar29 = pbVar53 + 2;
                pbVar53[1] = bVar42 | 0xfc;
                goto LAB_002b97b4;
              }
              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));
              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);
            }
            pbVar53[1] = bVar42;
            pbVar29 = pbVar53 + 2;
          }
          else {
            bVar42 = 0;
            if (0.0 < fVar65) {
              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {
                dVar67 = *(double *)(iVar55 + 0x1410);
                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);
                if (dVar64 < dVar67) {
                  bVar42 = (byte)(int)dVar64;
                }
                else {
                  bVar42 = (byte)(int)(dVar64 - dVar67);
                }
              }
              else {
                bVar42 = 0xff;
              }
            }
            *pbVar53 = bVar42;
            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);
            if (fVar65 <= 0.0) {
              bVar42 = 0;
            }
            else {
              dVar64 = (double)fVar65 / dVar79;
              if (dVar64 < dVar72) {
                dVar64 = dVar64 + dVar75;
                if (dVar64 < dVar71) {
                  bVar42 = (byte)(int)dVar64;
                }
                else {
                  bVar42 = (byte)(int)(dVar64 - dVar71);
                }
              }
              else {
                bVar42 = 0xff;
              }
            }
            pbVar53[1] = bVar42;
            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);
            pbVar29 = pbVar53 + 3;
            if (fVar65 <= 0.0) {
              bVar42 = 0;
            }
            else {
              dVar64 = (double)fVar65 / dVar70;
              if (dVar64 < dVar73) {
                dVar64 = dVar64 + dVar75;
                if (dVar64 < dVar77) {
                  bVar42 = (byte)(int)dVar64;
                }
                else {
                  bVar42 = (byte)(int)(dVar64 - dVar77);
                }
              }
              else {
                bVar42 = 0xff;
              }
            }
            pbVar53[2] = bVar42;
          }
LAB_002b97b4:
          sVar47 = sVar47 + 1;
          iVar52 = iVar52 + 0x58;
          pbVar53 = pbVar29;
        } while (sVar45 != sVar47);
      }
      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);
      (**(code **)(puVar61 + 0xf14ac))(pbVar23);
    }
    sVar45 = pIVar34->number_channels;
    if (0 < (int)pIVar34->rows) {
      iVar43 = *(int *)(puVar61 + 0xf0dd4);
      iVar55 = sVar45 * 4;
      iVar27 = *(int *)(puVar61 + 0xf0dcc);
      iVar8 = 0;
      dVar79 = *(double *)(iVar43 + -0x5af0);
      dVar77 = *(double *)(iVar27 + 0x1400);
      uStack_1c8 = 0;
      uVar19 = 0;
      uStack_1a0 = 0;
      do {
        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);
        if (iVar21 == 0) break;
        sVar47 = pIVar34->columns;
        if (CVar26 == RLECompression) {
          iVar52 = *(int *)(puVar61 + 0xf0dd4);
          if (0 < (int)sVar47) {
            sStack_1ec = 0;
            dVar70 = *(double *)(iVar52 + -0x5ae8);
            iVar56 = 0;
            do {
              iVar51 = 1;
              iVar37 = iVar55;
              sVar28 = sStack_1ec;
              iVar60 = iVar56;
              do {
                iVar60 = iVar60 + 1;
                sVar28 = sVar28 + 1;
                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {
                  bVar1 = iVar51 < 3;
                  if (!bVar1) goto LAB_002b8734;
                  iVar21 = iVar51 * iVar55 + iVar21;
                  iVar56 = iVar60;
                  sStack_1ec = sVar28;
                  if (iVar60 == 0x80) goto LAB_002b8a88;
LAB_002b8690:
                  bVar1 = iVar51 < 3;
                  iVar56 = iVar60;
                  sStack_1ec = sVar28;
                  if (sVar28 != sVar47) goto LAB_002b869c;
                  goto LAB_002b8a88;
                }
                pPVar22 = pIVar34->channel_map;
                if (uVar33 == 9) {
                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&
                     (iVar35 = pPVar22[5].offset * 4,
                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=
                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;
                }
                else {
                  iVar41 = iVar37 + sVar45 * -4;
                  iVar35 = pPVar22[2].offset * 4;
                  if (uVar33 == 0xb) {
                    iVar48 = iVar37 + iVar21;
                    iVar41 = iVar21 + sVar45 * -4 + iVar37;
                    iVar49 = pPVar22[1].offset * 4;
                    iVar50 = pPVar22->offset * 4;
                    if (*(float *)(iVar41 + iVar35) *
                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +
                        *(float *)(iVar41 + iVar50) *
                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +
                        *(float *)(iVar41 + iVar49) *
                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=
                        *(float *)(iVar48 + iVar35) *
                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +
                        *(float *)(iVar48 + iVar50) *
                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +
                        *(float *)(iVar48 + iVar49) *
                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;
                  }
                  else {
                    iVar48 = iVar21 + iVar37;
                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||
                         (iVar35 = pPVar22[1].offset * 4,
                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||
                        (iVar35 = pPVar22->offset * 4,
                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||
                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&
                         (pPVar22[4].traits != UndefinedPixelTrait)) &&
                        (iVar35 = pPVar22[4].offset * 4,
                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {
LAB_002b8680:
                      if (iVar51 < 3) {
                        iVar21 = iVar51 * iVar55 + iVar21;
                        goto LAB_002b8690;
                      }
                      goto LAB_002b8734;
                    }
                  }
                }
                iVar51 = iVar51 + 1;
                iVar37 = iVar37 + iVar55;
              } while (iVar51 != 0x80);
              sVar28 = sStack_1ec + 0x80;
LAB_002b8734:
              bVar1 = iVar51 < 3;
              sStack_1ec = sVar28;
              if (iVar56 == 0) {
LAB_002b873c:
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);
                if ((uVar33 & 3) == 1) {
                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {
LAB_002b8944:
                    uVar44 = 0;
                  }
                  else {
                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);
                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {
                      uVar44 = (int)fVar69 & 0xff;
                    }
                    else {
                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &
                               0xff;
                    }
                  }
LAB_002b8948:
                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                }
                else {
                  pPVar22 = pIVar34->channel_map;
                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);
                  if ((uVar33 & 3) == 3) {
                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +
                             *(float *)(iVar21 + pPVar22->offset * 4) *
                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +
                             *(float *)(iVar21 + pPVar22[1].offset * 4) *
                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);
                    if (fVar69 <= 0.0) goto LAB_002b8944;
                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {
                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);
                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);
                      if (dVar72 < dVar75) {
LAB_002b8a58:
                        uVar44 = (int)dVar72 & 0xff;
                      }
                      else {
LAB_002b89a4:
                        uVar44 = (int)(dVar72 - dVar75) & 0xff;
                      }
                    }
                    else {
LAB_002b93cc:
                      uVar44 = 0xff;
                    }
                    goto LAB_002b8948;
                  }
                  if (pIVar34->depth == 5) {
                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);
                    if (fVar65 <= 0.0) {
                      uVar44 = 0;
                      uVar20 = 0;
                      uVar59 = 0;
                    }
                    else {
                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));
                        uVar59 = (extraout_v1_05 & 0xff) << 5;
                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;
                        uVar20 = (uint)(char)uVar59;
                      }
                      else {
                        uVar44 = 3;
                        uVar20 = 0xffffffe0;
                        uVar59 = 0x1fe0;
                      }
                    }
                    if (NAN(fVar69)) {
LAB_002b94d4:
                      uVar20 = uVar20 & 0xff;
                    }
                    else if (0.0 < fVar69) {
                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));
                        uVar20 = uVar20 | extraout_v1_06;
                        goto LAB_002b94d4;
                      }
                      uVar20 = 0xff;
                    }
                    else {
                      uVar20 = uVar59 & 0xff;
                    }
                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);
                    pPVar22 = pIVar34->channel_map;
                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&
                       ((pPVar22[4].traits == UndefinedPixelTrait ||
                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <
                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {
                      uVar44 = uVar44 | 0xffffff80;
                    }
                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);
                    if (0.0 < fVar69) {
                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));
                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));
                      }
                      else {
                        uVar44 = uVar44 | 0xfffffffc;
                      }
                    }
                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);
                  }
                  else {
                    if (fVar69 <= 0.0) {
                      uVar44 = 0;
                    }
                    else {
                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {
                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);
                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {
                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);
                        }
                        uVar44 = (int)dVar72 & 0xff;
                      }
                      else {
                        uVar44 = 0xff;
                      }
                    }
                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);
                    if (fVar69 <= 0.0) {
                      uVar44 = 0;
                    }
                    else {
                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {
                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);
                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {
                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);
                        }
                        uVar44 = (int)dVar72 & 0xff;
                      }
                      else {
                        uVar44 = 0xff;
                      }
                    }
                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);
                    if (fVar69 <= 0.0) {
                      uVar44 = 0;
                    }
                    else {
                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {
                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);
                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {
                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);
                        }
                        uVar44 = (int)dVar72 & 0xff;
                      }
                      else {
                        uVar44 = 0xff;
                      }
                    }
                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {
                      uVar44 = 0xff;
                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {
                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);
                        if (0.0 < fVar69) {
                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                          if (dVar72 < dVar70) {
                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);
                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);
                            if (dVar75 <= dVar72) goto LAB_002b89a4;
                            goto LAB_002b8a58;
                          }
                          goto LAB_002b93cc;
                        }
                        goto LAB_002b8944;
                      }
                      goto LAB_002b8948;
                    }
                  }
                }
                sVar47 = pIVar34->columns;
                iVar60 = 0;
                iVar21 = iVar51 * iVar55 + iVar21;
              }
              else {
LAB_002b8a88:
                iVar60 = *(int *)(puVar61 + 0xf0dcc);
                uVar44 = iVar56 - 1;
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);
                iVar56 = iVar21 - iVar56 * iVar55;
                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);
                dVar75 = *(double *)(iVar52 + -0x5ae8);
                do {
                  pPVar22 = pIVar34->channel_map;
                  if ((uVar33 & 3) == 1) {
                    if (pPVar22[5].traits == UndefinedPixelTrait) {
LAB_002b8cac:
                      uVar59 = 0;
                    }
                    else {
                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);
                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {
                        uVar59 = (int)fVar69 & 0xff;
                      }
                      else {
                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &
                                 0xff;
                      }
                    }
LAB_002b8cb0:
                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);
                  }
                  else {
                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);
                    if ((uVar33 & 3) == 3) {
                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +
                               *(float *)(iVar56 + pPVar22->offset * 4) *
                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +
                               *(float *)(iVar56 + pPVar22[1].offset * 4) *
                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);
                      if (fVar69 <= 0.0) goto LAB_002b8cac;
                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {
                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);
                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {
                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;
                        }
                        else {
LAB_002b9048:
                          uVar59 = (int)dVar76 & 0xff;
                        }
                      }
                      else {
                        uVar59 = 0xff;
                      }
                      goto LAB_002b8cb0;
                    }
                    if (pIVar34->depth == 5) {
                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);
                      if (fVar65 <= 0.0) {
                        uVar59 = 0;
                        uVar40 = 0;
                        uVar20 = 0;
                      }
                      else {
                        dVar76 = ((double)fVar65 *
                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));
                          uVar20 = (extraout_v1_02 & 0xff) << 5;
                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;
                          uVar40 = (uint)(char)uVar20;
                        }
                        else {
                          uVar59 = 3;
                          uVar40 = 0xffffffe0;
                          uVar20 = 0x1fe0;
                        }
                      }
                      if (NAN(fVar69)) {
                        uVar40 = uVar40 & 0xff;
                      }
                      else if (0.0 < fVar69) {
                        dVar76 = ((double)fVar69 *
                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));
                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;
                        }
                        else {
                          uVar40 = 0xff;
                        }
                      }
                      else {
                        uVar40 = uVar20 & 0xff;
                      }
                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);
                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {
                        pPVar22 = pIVar34->channel_map;
                      }
                      else {
                        pPVar22 = pIVar34->channel_map;
                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||
                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <
                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {
                          uVar59 = uVar59 | 0xffffff80;
                        }
                      }
                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);
                      if (0.0 < fVar69) {
                        dVar76 = ((double)fVar69 *
                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));
                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))
                          ;
                        }
                        else {
                          uVar59 = uVar59 | 0xfffffffc;
                        }
                      }
                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);
                    }
                    else {
                      if (fVar69 <= 0.0) {
                        uVar59 = 0;
                      }
                      else {
                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {
                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);
                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {
                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);
                          }
                          uVar59 = (int)dVar76 & 0xff;
                        }
                        else {
                          uVar59 = 0xff;
                        }
                      }
                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);
                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);
                      if (fVar69 <= 0.0) {
                        uVar59 = 0;
                      }
                      else {
                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {
                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);
                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {
                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);
                          }
                          uVar59 = (int)dVar76 & 0xff;
                        }
                        else {
                          uVar59 = 0xff;
                        }
                      }
                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);
                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);
                      if (fVar69 <= 0.0) {
                        uVar59 = 0;
                      }
                      else {
                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {
                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);
                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {
                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);
                          }
                          uVar59 = (int)dVar76 & 0xff;
                        }
                        else {
                          uVar59 = 0xff;
                        }
                      }
                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);
                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {
                        uVar59 = 0xff;
                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {
                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);
                          if (fVar69 <= 0.0) goto LAB_002b8cac;
                          dVar76 = (double)fVar69 / dVar79;
                          uVar59 = 0xff;
                          if (dVar76 < dVar75) {
                            dVar76 = dVar76 + dVar77;
                            if (dVar76 < dVar72) goto LAB_002b9048;
                            uVar59 = (int)(dVar76 - dVar72) & 0xff;
                          }
                        }
                        goto LAB_002b8cb0;
                      }
                    }
                  }
                  uVar44 = uVar44 - 1;
                  iVar56 = iVar56 + iVar55;
                } while (uVar44 != 0xffffffff);
                iVar60 = 0;
                if (!bVar1) goto LAB_002b873c;
                sVar47 = pIVar34->columns;
              }
LAB_002b869c:
              iVar56 = iVar60;
            } while ((int)sStack_1ec < (int)sVar47);
          }
        }
        else if (0 < (int)sVar47) {
          iVar60 = 0;
          iVar52 = *(int *)(puVar61 + 0xf0dd4);
          iVar56 = *(int *)(puVar61 + 0xf0dcc);
          dVar75 = *(double *)(iVar43 + -0x5af0);
          dVar76 = *(double *)(iVar52 + -0x5ae8);
          dVar72 = *(double *)(iVar27 + 0x1400);
          dVar70 = *(double *)(iVar56 + 0x1410);
          do {
            pPVar22 = pIVar34->channel_map;
            if ((uVar33 & 3) == 1) {
              if (pPVar22[5].traits == UndefinedPixelTrait) {
LAB_002b8324:
                uVar44 = 0;
              }
              else {
                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);
                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {
                  uVar44 = (int)fVar69 & 0xff;
                }
                else {
                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;
                }
              }
LAB_002b8328:
              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
            }
            else {
              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);
              if ((uVar33 & 3) == 3) {
                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +
                         *(float *)(iVar21 + pPVar22->offset * 4) *
                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +
                         *(float *)(iVar21 + pPVar22[1].offset * 4) *
                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);
                if (fVar69 <= 0.0) goto LAB_002b8324;
                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {
                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);
                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {
                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;
                  }
                  else {
LAB_002b8e7c:
                    uVar44 = (int)dVar63 & 0xff;
                  }
                }
                else {
                  uVar44 = 0xff;
                }
                goto LAB_002b8328;
              }
              if (pIVar34->depth == 5) {
                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);
                if (fVar65 <= 0.0) {
                  uVar44 = 0;
                  uVar20 = 0;
                  uVar59 = 0;
                }
                else {
                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));
                    uVar59 = (extraout_v1 & 0xff) << 5;
                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;
                    uVar20 = (uint)(char)uVar59;
                  }
                  else {
                    uVar44 = 3;
                    uVar20 = 0xffffffe0;
                    uVar59 = 0x1fe0;
                  }
                }
                if (NAN(fVar69)) {
LAB_002b8f78:
                  uVar20 = uVar20 & 0xff;
                }
                else if (0.0 < fVar69) {
                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));
                    uVar20 = uVar20 | extraout_v1_00;
                    goto LAB_002b8f78;
                  }
                  uVar20 = 0xff;
                }
                else {
                  uVar20 = uVar59 & 0xff;
                }
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);
                if (pIVar34->alpha_trait == UndefinedPixelTrait) {
                  pPVar22 = pIVar34->channel_map;
                }
                else {
                  pPVar22 = pIVar34->channel_map;
                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||
                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <
                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {
                    uVar44 = uVar44 | 0xffffff80;
                  }
                }
                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);
                if (0.0 < fVar69) {
                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);
                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));
                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));
                  }
                  else {
                    uVar44 = uVar44 | 0xfffffffc;
                  }
                }
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);
              }
              else {
                if (fVar69 <= 0.0) {
                  uVar44 = 0;
                }
                else {
                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {
                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);
                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {
                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);
                    }
                    uVar44 = (int)dVar63 & 0xff;
                  }
                  else {
                    uVar44 = 0xff;
                  }
                }
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);
                if (fVar69 <= 0.0) {
                  uVar44 = 0;
                }
                else {
                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {
                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);
                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {
                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);
                    }
                    uVar44 = (int)dVar63 & 0xff;
                  }
                  else {
                    uVar44 = 0xff;
                  }
                }
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);
                if (fVar69 <= 0.0) {
                  uVar44 = 0;
                }
                else {
                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);
                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {
                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);
                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {
                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);
                    }
                    uVar44 = (int)dVar63 & 0xff;
                  }
                  else {
                    uVar44 = 0xff;
                  }
                }
                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);
                if (pIVar34->alpha_trait != UndefinedPixelTrait) {
                  uVar44 = 0xff;
                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {
                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);
                    if (fVar69 <= 0.0) goto LAB_002b8324;
                    dVar63 = (double)fVar69 / dVar75;
                    uVar44 = 0xff;
                    if (dVar63 < dVar76) {
                      dVar63 = dVar63 + dVar72;
                      if (dVar63 < dVar70) goto LAB_002b8e7c;
                      uVar44 = (int)(dVar63 - dVar70) & 0xff;
                    }
                  }
                  goto LAB_002b8328;
                }
              }
            }
            iVar60 = iVar60 + 1;
            iVar21 = iVar21 + iVar55;
          } while (iVar60 < (int)pIVar34->columns);
        }
        sVar47 = pIVar34->rows;
        uVar19 = uVar19 + 1;
        if (sVar47 <= uVar19) {
          uStack_1a0 = uStack_1a0 + 1;
          uVar19 = uStack_1a0;
        }
        if (pIVar34->previous == (_Image *)0x0) {
          iVar21 = (**(code **)(puVar61 + 0xf11a0))
                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47
                             );
          if (iVar21 == 0) break;
          sVar47 = pIVar34->rows;
        }
        uVar44 = uStack_1c8 + 1;
        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;
        uStack_1c8 = uVar44;
      } while ((int)uVar44 < (int)sVar47);
    }
    (**(code **)(puVar61 + 0xf1b74))(pIVar34);
    return (Image *)0x1;
  }
  (**(code **)(puVar61 + 0xf140c))
            (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353
             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,
             pIVar34->filename);
  pIVar7 = pIVar34;
  if (pCVar6[3] == UndefinedCompression) {
    pcVar62 = *(code **)(puVar61 + 0xf1b74);
  }
  else {
    do {
      pIVar34 = pIVar7;
      pcVar62 = *(code **)(puVar61 + 0xf1b74);
      pIVar7 = pIVar34->previous;
    } while (pIVar34->previous != (_Image *)0x0);
  }
LAB_002b7c64:
  (*pcVar62)(pIVar34);
  return (Image *)0x0;
}



/* WARNING: Removing unreachable block (ram,0x002b78a8) */
/* WARNING: Removing unreachable block (ram,0x002b78bc) */

float * FUN_002b67b0(int param_1,float *param_2)

{
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  char cVar4;
  float *pfVar5;
  int iVar6;
  undefined *puVar7;
  float fVar8;
  float **ppfVar9;
  float **ppfVar10;
  undefined *puVar11;
  float *pfVar12;
  float *pfVar13;
  undefined *puVar14;
  undefined4 uVar15;
  undefined4 *puVar16;
  uint uVar17;
  uint uVar18;
  int iVar19;
  byte *pbVar20;
  byte bVar21;
  undefined4 *puVar22;
  int iVar23;
  uint extraout_v1;
  uint extraout_v1_00;
  uint extraout_v1_01;
  uint extraout_v1_02;
  uint extraout_v1_03;
  uint extraout_v1_04;
  uint extraout_v1_05;
  uint extraout_v1_06;
  uint extraout_v1_07;
  byte *pbVar24;
  uint extraout_v1_08;
  byte extraout_v1_10;
  uint extraout_v1_09;
  undefined4 *puVar25;
  uint uVar26;
  float *pfVar27;
  float fVar28;
  int iVar29;
  uint uVar30;
  float *pfVar31;
  int iVar32;
  undefined4 uVar33;
  uint uVar34;
  int iVar35;
  byte bVar36;
  int iVar37;
  float fVar38;
  float fVar39;
  undefined4 *puVar40;
  int iVar41;
  int iVar42;
  int iVar43;
  int iVar44;
  int iVar45;
  byte *pbVar46;
  float *pfVar47;
  int iVar48;
  int iVar49;
  float fVar50;
  int iVar51;
  undefined *puVar52;
  code *pcVar53;
  double dVar54;
  float fVar56;
  double dVar55;
  double dVar57;
  double dVar58;
  float fVar59;
  double dVar60;
  double dVar61;
  double dVar62;
  double dVar63;
  ulonglong uVar64;
  double dVar65;
  double dVar66;
  double dVar67;
  double dVar68;
  double dVar69;
  undefined8 uVar70;
  float fStack_1ec;
  uint uStack_1c8;
  float fStack_1a0;
  float *local_f8;
  float *local_f0;
  uint local_ec;
  float *local_e4;
  char local_c9;
  float *local_c8;
  byte local_c4;
  char local_c3;
  ushort local_c2;
  ushort local_c0;
  byte local_be;
  undefined2 local_bc;
  undefined2 local_ba;
  ushort local_b8;
  ushort local_b6;
  byte local_b4;
  byte local_b3;
  float *local_b0 [10];
  double local_88;
  double local_80;
  double local_78;
  double local_68;
  float *local_60;
  undefined4 local_5c;
  byte local_58;
  byte local_57;
  byte local_56;
  byte local_55;
  float *local_54;
  
  puVar52 = PTR___stack_chk_guard_003a9230;
  local_54 = *(float **)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xd78,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  if (*(int *)(param_1 + 0x3214) != -0x54535255) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xda0,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  if (*(int *)(param_1 + 0x3210) != 0) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,
               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,
               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);
  }
  if (param_2 == (float *)0x0) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x1cac,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  if (param_2[7] != -1.2269538e-12) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x294c,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);
  pfVar31 = (float *)0x2;
  pfVar27 = pfVar5;
  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);
  if (iVar6 == 0) {
    pfVar47 = (float *)0x0;
    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);
    goto LAB_002b6964;
  }
  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);
  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
  if (iVar6 == 1) {
    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {
      if (local_c8 == (float *)0x1) {
LAB_002b69c0:
        if (local_c3 == '\0') goto LAB_002b68ec;
      }
    }
    else {
      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;
      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;
    }
    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);
    if (iVar6 != 0) {
      uVar33 = 0xe8;
      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;
      goto LAB_002b6920;
    }
    pfVar27 = (float *)(uint)local_b4;
    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||
       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {
      uVar33 = 0xeb;
      goto LAB_002b68f4;
    }
    pfVar5[6] = (float)(uint)local_b8;
    pfVar5[7] = (float)(uint)local_b6;
    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {
LAB_002b6bac:
      fVar8 = 7.00649e-45;
      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {
        fVar8 = 1.12104e-44;
      }
      pfVar5[8] = fVar8;
    }
    else {
      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {
        fVar8 = 5.60519e-45;
        if (local_be != 0x20) {
          fVar8 = 0.0;
        }
      }
      else {
        fVar8 = 5.60519e-45;
      }
      pfVar5[0xaf] = fVar8;
      if (local_c8 == (float *)0x1) {
        if ((8 < local_be) && (local_be < 0x11)) {
          pfVar5[8] = 7.00649e-45;
          *pfVar5 = 2.8026e-45;
          goto LAB_002b6bc4;
        }
LAB_002b6b10:
        pfVar5[8] = 1.12104e-44;
      }
      else {
        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;
        if (local_be < 9) goto LAB_002b6b10;
        if (local_be < 0x11) {
          pfVar5[8] = 7.00649e-45;
        }
        else {
          pfVar5[8] = 1.12104e-44;
        }
      }
      *pfVar5 = 2.8026e-45;
    }
LAB_002b6bc4:
    if (((uint)local_c8 & 0xfffffff7) == 3) {
      pfVar5[0xa8] = 2.8026e-45;
      pfVar5[2] = 2.24208e-44;
      pfVar5[1] = 4.2039e-45;
      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;
LAB_002b7100:
      pfVar5[2] = 2.66247e-44;
    }
    else {
      pfVar5[2] = 2.24208e-44;
      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;
LAB_002b6be8:
      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;
    }
    puVar7 = PTR_GetBlobSize_003a94b8;
    pfVar31 = local_c8;
    if (*pfVar5 == 2.8026e-45) {
      if (local_c3 != '\0') {
        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);
        goto LAB_002b6c00;
      }
      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));
      pfVar5[9] = fVar8;
      uVar70 = (*(code *)puVar7)(pfVar5);
      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {
        pfVar27 = (float *)pfVar5[9];
        pfVar31 = param_2;
        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);
        if (iVar6 != 0) goto LAB_002b6c00;
        uVar33 = 0x11c;
        goto LAB_002b7224;
      }
      uVar33 = 0x11a;
      puVar7 = PTR_LAB_003a88e0 + 0x3e28;
      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
      puVar14 = PTR_s_courses_003a88ec + 0x4a0;
      uVar15 = 0x1a9;
LAB_002b725c:
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);
      goto LAB_002b6944;
    }
LAB_002b6c00:
    pfVar47 = (float *)(uint)local_c4;
    if (pfVar47 != (float *)0x0) {
      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);
      if (pfVar12 != (float *)0x0) {
        pfVar27 = pfVar47;
        pfVar31 = pfVar12;
        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);
        puVar7 = PTR_SetImageProperty_003a9534;
        if (pfVar47 == pfVar13) {
          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);
          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;
          pfVar31 = pfVar12;
          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);
        }
        (*(code *)PTR_DestroyString_003a9074)(pfVar12);
        goto LAB_002b6c0c;
      }
      uVar33 = 0x130;
LAB_002b7224:
      puVar7 = PTR_LAB_003a88e0 + 0x3e28;
      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
      puVar14 = PTR_LAB_003a88e0 + 0x16f8;
      uVar15 = 400;
      goto LAB_002b725c;
    }
LAB_002b6c0c:
    pfVar5[4] = 5.60519e-45;
    if ((local_b3 & 0x10) == 0) {
      if ((local_b3 & 0x20) != 0) {
        pfVar5[4] = 1.4013e-45;
      }
    }
    else if ((local_b3 & 0x20) == 0) {
      pfVar5[4] = 4.2039e-45;
    }
    else {
      pfVar5[4] = 2.8026e-45;
    }
    if (*(int *)(param_1 + 0x1dc) == 0) {
      pfVar31 = (float *)pfVar5[7];
      pfVar27 = (float *)pfVar5[6];
      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);
      puVar7 = PTR_LAB_003a88e0;
      if (iVar6 == 0) {
        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);
      }
      else {
        pfVar31 = (float *)0x58;
        pfVar27 = (float *)0x0;
        (*(code *)PTR_memset_003a96d4)(local_b0);
        puVar14 = PTR_AcquireImageColormap_003a9194;
        local_68 = *(double *)(puVar7 + 0x1a58);
        if (local_c3 != '\0') {
          pfVar31 = (float *)(uint)local_c2;
          pfVar27 = (float *)pfVar5[9];
          if ((float *)pfVar5[9] < pfVar31) {
            pfVar5[9] = (float)pfVar31;
            pfVar27 = pfVar31;
          }
          pfVar31 = param_2;
          iVar6 = (*(code *)puVar14)(pfVar5);
          if (iVar6 == 0) {
            uVar33 = 0x15a;
            goto LAB_002b7224;
          }
          uVar17 = (uint)local_c2;
          if (uVar17 != 0) {
            puVar25 = (undefined4 *)pfVar5[10];
            puVar40 = puVar25 + uVar17 * 0x16;
            ppfVar9 = local_b0;
            puVar16 = puVar25;
            do {
              do {
                puVar22 = puVar16;
                ppfVar10 = ppfVar9 + 4;
                pfVar47 = ppfVar9[1];
                pfVar31 = ppfVar9[2];
                pfVar27 = ppfVar9[3];
                *puVar22 = *ppfVar9;
                puVar22[1] = pfVar47;
                puVar22[2] = pfVar31;
                puVar22[3] = pfVar27;
                ppfVar9 = ppfVar10;
                puVar16 = puVar22 + 4;
              } while (ppfVar10 != &local_60);
              puVar25 = puVar25 + 0x16;
              puVar22[4] = local_60;
              puVar22[5] = local_5c;
              ppfVar9 = local_b0;
              puVar16 = puVar25;
              pfVar27 = local_60;
            } while (puVar40 != puVar25);
          }
          if ((int)uVar17 < (int)pfVar5[9]) {
            iVar6 = uVar17 * 0x58;
            dVar65 = *(double *)(puVar7 + 0x1a58);
            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);
            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);
            dVar67 = dVar60;
            dVar69 = dVar60;
            do {
              uVar26 = (uint)local_be;
              if (uVar26 == 0x18) {
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_78 = (double)(float)((double)bVar36 * dVar60);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_80 = (double)(float)((double)bVar36 * dVar60);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_88 = (double)(float)((double)bVar36 * dVar60);
              }
              else if (uVar26 < 0x19) {
                if (uVar26 - 0xf < 2) {
                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);
                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);
                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *
                                             dVar62 * dVar65);
                }
                else {
LAB_002b7684:
                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                  local_88 = (double)(float)((double)bVar36 * dVar69);
                  local_80 = local_88;
                  local_78 = local_88;
                }
              }
              else {
                if (uVar26 != 0x20) goto LAB_002b7684;
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_78 = (double)(float)((double)bVar36 * dVar67);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_80 = (double)(float)((double)bVar36 * dVar67);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_88 = (double)(float)((double)bVar36 * dVar67);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_68 = (double)(float)((double)bVar36 * dVar67);
              }
              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);
              ppfVar9 = local_b0;
              do {
                puVar25 = puVar16;
                ppfVar10 = ppfVar9 + 4;
                pfVar31 = ppfVar9[1];
                pfVar27 = ppfVar9[2];
                pfVar47 = ppfVar9[3];
                *puVar25 = *ppfVar9;
                puVar25[1] = pfVar31;
                puVar25[2] = pfVar27;
                puVar25[3] = pfVar47;
                puVar16 = puVar25 + 4;
                ppfVar9 = ppfVar10;
              } while (ppfVar10 != &local_60);
              uVar17 = uVar17 + 1;
              puVar25[4] = local_60;
              puVar25[5] = local_5c;
              iVar6 = iVar6 + 0x58;
            } while ((int)uVar17 < (int)pfVar5[9]);
          }
        }
        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;
        local_c9 = '\0';
        if (0 < (int)pfVar5[7]) {
          uVar64 = 0;
          bVar1 = false;
          bVar2 = false;
          local_f0 = (float *)0x0;
          local_ec = 0;
          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);
          local_f8 = (float *)0x0;
          local_e4 = (float *)0x0;
          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);
          puVar11 = PTR_LAB_003a88e0 + 0x3e28;
          do {
            pfVar27 = (float *)0x0;
            pfVar31 = local_f8;
            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)
                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);
            puVar3 = PTR_s_t_to_left_003a88e4;
            if (iVar6 == 0) break;
            fVar8 = pfVar5[6];
            if (0 < (int)fVar8) {
              iVar37 = 0;
              dVar60 = *(double *)(puVar14 + -0x5af0);
              do {
                cVar4 = local_c9;
                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&
                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {
                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);
                  if (iVar23 == 1) {
                    if (local_c9 < '\0') {
                      bVar2 = true;
                      local_c9 = local_c9 + -0x80;
                    }
                    else {
                      bVar2 = false;
                    }
                    goto LAB_002b6fd4;
                  }
                  uVar33 = 0x1bd;
LAB_002b7920:
                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;
                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;
                  uVar15 = 0x1a9;
                  goto LAB_002b725c;
                }
                local_c9 = cVar4;
                if (bVar1) {
                  fVar38 = *pfVar5;
                  fVar39 = pfVar5[0xaf];
                  dVar62 = local_78;
                  dVar65 = local_80;
                  dVar66 = local_88;
LAB_002b6f24:
                  fVar50 = pfVar5[0xb4];
                  if (fVar38 == 2.8026e-45) {
LAB_002b72e8:
                    if (*(int *)((int)fVar50 + 0x40) != 0) {
                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;
                    }
                  }
                }
                else {
LAB_002b6fd4:
                  uVar17 = (uint)local_b4;
                  if (uVar17 == 0x18) {
                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);
                    if (iVar23 != 3) {
                      uVar33 = 0x1ff;
                      goto LAB_002b7920;
                    }
                    bVar1 = false;
                    fVar38 = *pfVar5;
                    fVar39 = pfVar5[0xaf];
                    fVar8 = pfVar5[6];
                    local_78 = (double)(float)((double)local_58 * dVar69);
                    local_80 = (double)(float)((double)local_57 * dVar69);
                    local_88 = (double)(float)((double)local_56 * dVar69);
                    dVar62 = local_78;
                    dVar65 = local_80;
                    dVar66 = local_88;
                    goto LAB_002b6f24;
                  }
                  if (0x18 < uVar17) {
                    if (uVar17 == 0x20) {
                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);
                      if (iVar23 != 4) {
                        uVar33 = 0x20b;
                        goto LAB_002b7920;
                      }
                      bVar1 = false;
                      fVar8 = pfVar5[6];
                      fVar38 = *pfVar5;
                      dVar62 = *(double *)(puVar14 + -0x5af0);
                      fVar39 = pfVar5[0xaf];
                      local_78 = (double)(float)((double)local_58 * dVar62);
                      local_80 = (double)(float)((double)local_57 * dVar62);
                      local_88 = (double)(float)((double)local_56 * dVar62);
                      local_68 = (double)(float)((double)local_55 * dVar62);
                      dVar62 = local_78;
                      dVar65 = local_80;
                      dVar66 = local_88;
                      goto LAB_002b6f24;
                    }
LAB_002b747c:
                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);
                    if (iVar23 != 1) {
                      uVar33 = 0x1ce;
                      goto LAB_002b7920;
                    }
                    uVar17 = (uint)local_58;
                    uVar64 = (ulonglong)(uint)(float)uVar17;
                    if (local_c3 == '\0') {
                      fVar38 = *pfVar5;
                      bVar1 = false;
                      fVar39 = pfVar5[0xaf];
                      fVar8 = pfVar5[6];
                      local_88 = (double)(float)((double)uVar17 * dVar60);
                      dVar62 = local_88;
                      dVar65 = local_88;
                      dVar66 = local_88;
                      local_80 = local_88;
                      local_78 = local_88;
                    }
                    else {
                      puVar16 = (undefined4 *)pfVar5[10];
                      if ((int)uVar17 < (int)pfVar5[9]) {
                        puVar16 = puVar16 + uVar17 * 0x16;
                      }
                      else if (*param_2 != 5.95552e-43) {
                        (*(code *)PTR_ThrowMagickException_003a8f20)
                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,
                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,
                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);
                      }
                      puVar25 = puVar16;
                      ppfVar9 = local_b0;
                      do {
                        ppfVar10 = ppfVar9;
                        puVar40 = puVar25;
                        puVar25 = puVar40 + 4;
                        pfVar47 = (float *)puVar40[1];
                        pfVar31 = (float *)puVar40[2];
                        pfVar27 = (float *)puVar40[3];
                        *ppfVar10 = (float *)*puVar40;
                        ppfVar10[1] = pfVar47;
                        ppfVar10[2] = pfVar31;
                        ppfVar10[3] = pfVar27;
                        ppfVar9 = ppfVar10 + 4;
                      } while (puVar25 != puVar16 + 0x14);
                      bVar1 = false;
                      pfVar27 = (float *)puVar40[5];
                      ppfVar10[4] = (float *)*puVar25;
                      ppfVar10[5] = pfVar27;
                      fVar38 = *pfVar5;
                      fVar39 = pfVar5[0xaf];
                      fVar8 = pfVar5[6];
                      dVar62 = local_78;
                      dVar65 = local_80;
                      dVar66 = local_88;
                    }
                    goto LAB_002b6f24;
                  }
                  if (1 < uVar17 - 0xf) goto LAB_002b747c;
                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);
                  if (iVar23 != 2) {
                    uVar33 = 0x1e8;
                    goto LAB_002b7920;
                  }
                  uVar17 = (uint)local_57;
                  fVar39 = pfVar5[0xaf];
                  dVar54 = *(double *)(puVar7 + 0x1a58);
                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);
                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *
                                           dVar67 * dVar54);
                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);
                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {
                    local_68 = 0.0;
                  }
                  bVar1 = false;
                  local_88 = dVar66;
                  local_80 = dVar65;
                  local_78 = dVar62;
                  if (*pfVar5 == 2.8026e-45) {
                    iVar23 = uVar17 * 0x100 + (uint)local_58;
                    if (iVar23 < (int)pfVar5[9]) {
                      uVar64 = (ulonglong)(uint)(float)iVar23;
                    }
                    else {
                      if (*param_2 != 5.95552e-43) {
                        uVar64 = 0;
                        bVar1 = false;
                        (*(code *)PTR_ThrowMagickException_003a8f20)
                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,
                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,
                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);
                        fVar38 = *pfVar5;
                        fVar39 = pfVar5[0xaf];
                        fVar8 = pfVar5[6];
                        goto LAB_002b6f24;
                      }
                      uVar64 = 0;
                    }
                    fVar50 = pfVar5[0xb4];
                    bVar1 = false;
                    fVar8 = pfVar5[6];
                    goto LAB_002b72e8;
                  }
                  fVar50 = pfVar5[0xb4];
                  fVar8 = pfVar5[6];
                }
                iVar23 = *(int *)((int)fVar50 + 0x20);
                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);
                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;
                *pfVar31 = (float)dVar65;
                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;
                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {
                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;
                }
                iVar37 = iVar37 + 1;
                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;
              } while (iVar37 < (int)fVar8);
            }
            if (local_b3 >> 6 == 2) {
              local_f8 = (float *)((int)local_f8 + 2);
            }
            else {
              local_f8 = (float *)((int)local_f8 + 1);
            }
            if ((float *)pfVar5[7] <= local_f8) {
              local_f8 = (float *)((int)local_e4 + 1);
              local_e4 = local_f8;
            }
            pfVar27 = param_2;
            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);
            if (iVar6 == 0) break;
            fVar8 = pfVar5[7];
            if (pfVar5[0xcd9] == 0.0) {
              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);
              pfVar31 = local_f0;
              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)
                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);
              if (iVar6 == 0) break;
              fVar8 = pfVar5[7];
            }
            uVar17 = local_ec + 1;
            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);
            local_ec = uVar17;
          } while ((int)uVar17 < (int)fVar8);
        }
        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);
        if (iVar6 != 0) {
          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);
          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
          (*(code *)PTR_ThrowMagickException_003a8f20)
                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,
                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);
          (*(code *)PTR_DestroyString_003a9074)(uVar33);
        }
        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);
        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);
      }
    }
    else {
      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);
      pfVar47 = pfVar5;
    }
  }
  else {
LAB_002b68ec:
    uVar33 = 0xdd;
LAB_002b68f4:
    puVar7 = PTR_s_courses_003a88ec + -400;
LAB_002b6920:
    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,
               param_1 + 0x2210);
    if (pfVar5 != (float *)0x0) {
LAB_002b6944:
      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);
      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);
    }
    pfVar47 = (float *)0x0;
  }
LAB_002b6964:
  if (local_54 == *(float **)puVar52) {
    return pfVar47;
  }
  pfVar5 = local_54;
  puVar52 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (pfVar5 == (float *)0x0) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);
    return pfVar27;
  }
  iVar6 = *(int *)(puVar52 + 0xf0e38);
  if (pfVar5[0xc85] != -1.2269538e-12) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);
    return pfVar27;
  }
  if (pfVar27 == (float *)0x0) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);
    return pfVar27;
  }
  if (pfVar27[0xcdb] != -1.2269538e-12) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);
    return pfVar27;
  }
  if (pfVar27[0xcd4] != 0.0) {
    (**(code **)(puVar52 + 0xf16cc))
              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,
               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);
  }
  if (pfVar31 == (float *)0x0) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);
    return pfVar27;
  }
  if (pfVar31[7] != -1.2269538e-12) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);
    return pfVar27;
  }
  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);
  if (iVar6 == 0) {
    return (float *)0x0;
  }
  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {
    (**(code **)(puVar52 + 0xf140c))
              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,
               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28
               ,pfVar27 + 0xd0);
    pfVar31 = pfVar27;
    if (pfVar5[3] == 0.0) {
      pcVar53 = *(code **)(puVar52 + 0xf1b74);
    }
    else {
      do {
        pfVar27 = pfVar31;
        pcVar53 = *(code **)(puVar52 + 0xf1b74);
        pfVar31 = (float *)pfVar27[0xcd9];
      } while ((float *)pfVar27[0xcd9] != (float *)0x0);
    }
    goto LAB_002b7c64;
  }
  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);
  fVar8 = *pfVar5;
  if (*pfVar5 == 0.0) {
    fVar8 = pfVar27[2];
  }
  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);
  if (iVar6 == 0) {
    uVar17 = 0;
  }
  else {
    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);
    if (uVar17 < 0xff) {
      uVar17 = uVar17 & 0xff;
    }
    else {
      uVar17 = 0xff;
    }
  }
  fVar50 = pfVar27[6];
  fVar38 = pfVar27[7];
  fVar39 = fVar50;
  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {
LAB_002b7d90:
    if (*pfVar27 != 1.4013e-45) {
      uVar26 = 9;
      if ((uint)pfVar27[9] < 0x101) {
        bVar36 = 0;
        uVar33 = 8;
        if (fVar8 != 2.66247e-44) {
          uVar26 = 1;
        }
        uVar18 = 0x10;
        iVar37 = 1;
        uVar34 = (uint)pfVar27[9] & 0xffff;
        if (pfVar5[0xc] != 7.00649e-45) {
          uVar18 = 0x18;
        }
        goto LAB_002b7de4;
      }
    }
    uVar26 = 10;
    fVar59 = pfVar27[0xaf];
    if (fVar8 != 2.66247e-44) {
      uVar26 = 2;
    }
    if (pfVar5[0xc] == 7.00649e-45) {
      bVar36 = fVar59 != 0.0;
      uVar18 = 0;
      uVar33 = 0x10;
      uVar34 = 0;
      iVar37 = 0;
    }
    else {
      uVar33 = 0x18;
      bVar36 = 8;
      if (fVar59 != 0.0) {
        uVar33 = 0x20;
      }
      uVar18 = 0;
      uVar34 = 0;
      if (fVar59 == 0.0) {
        bVar36 = 0;
      }
      iVar37 = 0;
    }
  }
  else {
    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);
    fVar39 = pfVar27[6];
    if (iVar37 == 0) goto LAB_002b7d90;
    bVar36 = 0;
    uVar33 = 8;
    uVar26 = 0xb;
    uVar18 = 0;
    if (fVar8 != 2.66247e-44) {
      uVar26 = 3;
    }
    uVar34 = 0;
    iVar37 = 0;
  }
LAB_002b7de4:
  if ((int)pfVar27[4] - 2U < 2) {
    bVar36 = bVar36 | 0x10;
  }
  if ((uint)pfVar27[4] < 3) {
    bVar36 = bVar36 | 0x20;
  }
  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);
    if (uVar17 != 0) {
      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);
    }
    if (iVar37 != 0) {
      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);
      if (pbVar20 == (byte *)0x0) {
        (**(code **)(puVar52 + 0xf140c))
                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788
                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,
                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);
        pfVar31 = pfVar27;
        if (pfVar5[3] == 0.0) {
          pcVar53 = *(code **)(puVar52 + 0xf1b74);
        }
        else {
          do {
            pfVar27 = pfVar31;
            pcVar53 = *(code **)(puVar52 + 0xf1b74);
            pfVar31 = (float *)pfVar27[0xcd9];
          } while ((float *)pfVar27[0xcd9] != (float *)0x0);
        }
        goto LAB_002b7c64;
      }
      fVar39 = pfVar27[9];
      if (0 < (int)fVar39) {
        iVar49 = *(int *)(puVar52 + 0xf0dcc);
        fVar38 = 0.0;
        iVar19 = *(int *)(puVar52 + 0xf0dcc);
        dVar65 = *(double *)(iVar49 + 0x1400);
        iVar37 = *(int *)(puVar52 + 0xf0dd4);
        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);
        iVar6 = *(int *)(puVar52 + 0xf0dd8);
        dVar63 = *(double *)(iVar37 + -0x5ae8);
        iVar48 = *(int *)(puVar52 + 0xf0dcc);
        dVar54 = *(double *)(iVar6 + -0x62d8);
        iVar23 = *(int *)(puVar52 + 0xf0dcc);
        dVar66 = *(double *)(iVar19 + 0x1a60);
        dVar61 = *(double *)(iVar48 + 0x1410);
        fVar50 = pfVar27[10];
        dVar57 = *(double *)(iVar23 + 0x1a58);
        fVar59 = pfVar5[0xc];
        iVar45 = 0;
        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);
        pbVar46 = pbVar20;
        dVar67 = dVar61;
        dVar69 = dVar68;
        dVar60 = dVar68;
        dVar62 = dVar63;
        do {
          iVar51 = (int)fVar50 + iVar45;
          fVar56 = (float)*(double *)(iVar51 + 0x38);
          if (fVar59 == 7.00649e-45) {
            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {
              bVar36 = 0;
              bVar21 = 0;
            }
            else {
              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /
                       *(double *)(iVar23 + 0x1a58);
              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {
                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));
                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);
                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);
              }
              else {
                bVar36 = 3;
                bVar21 = 0xe0;
              }
            }
            if (0.0 < fVar56) {
              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /
                       *(double *)(iVar23 + 0x1a58);
              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {
                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));
                bVar21 = bVar21 | extraout_v1_10;
              }
              else {
                bVar21 = 0xff;
              }
            }
            fVar56 = pfVar27[0xaf];
            *pbVar46 = bVar21;
            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {
              bVar36 = bVar36 | 0x80;
            }
            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {
              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;
              if (dVar66 <= dVar55) {
                pbVar24 = pbVar46 + 2;
                pbVar46[1] = bVar36 | 0xfc;
                goto LAB_002b97b4;
              }
              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));
              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);
            }
            pbVar46[1] = bVar36;
            pbVar24 = pbVar46 + 2;
          }
          else {
            bVar36 = 0;
            if (0.0 < fVar56) {
              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {
                dVar58 = *(double *)(iVar48 + 0x1410);
                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);
                if (dVar55 < dVar58) {
                  bVar36 = (byte)(int)dVar55;
                }
                else {
                  bVar36 = (byte)(int)(dVar55 - dVar58);
                }
              }
              else {
                bVar36 = 0xff;
              }
            }
            *pbVar46 = bVar36;
            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {
              bVar36 = 0;
            }
            else {
              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;
              if (dVar55 < dVar62) {
                dVar55 = dVar55 + dVar65;
                if (dVar55 < dVar61) {
                  bVar36 = (byte)(int)dVar55;
                }
                else {
                  bVar36 = (byte)(int)(dVar55 - dVar61);
                }
              }
              else {
                bVar36 = 0xff;
              }
            }
            pbVar46[1] = bVar36;
            pbVar24 = pbVar46 + 3;
            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {
              bVar36 = 0;
            }
            else {
              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;
              if (dVar55 < dVar63) {
                dVar55 = dVar55 + dVar65;
                if (dVar55 < dVar67) {
                  bVar36 = (byte)(int)dVar55;
                }
                else {
                  bVar36 = (byte)(int)(dVar55 - dVar67);
                }
              }
              else {
                bVar36 = 0xff;
              }
            }
            pbVar46[2] = bVar36;
          }
LAB_002b97b4:
          fVar38 = (float)((int)fVar38 + 1);
          iVar45 = iVar45 + 0x58;
          pbVar46 = pbVar24;
        } while (fVar39 != fVar38);
      }
      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);
      (**(code **)(puVar52 + 0xf14ac))(pbVar20);
    }
    fVar39 = pfVar27[0xb0];
    if (0 < (int)pfVar27[7]) {
      iVar37 = *(int *)(puVar52 + 0xf0dd4);
      iVar48 = (int)fVar39 * 4;
      iVar23 = *(int *)(puVar52 + 0xf0dcc);
      iVar6 = 0;
      dVar69 = *(double *)(iVar37 + -0x5af0);
      dVar67 = *(double *)(iVar23 + 0x1400);
      uStack_1c8 = 0;
      fVar38 = 0.0;
      fStack_1a0 = 0.0;
      do {
        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);
        if (iVar19 == 0) break;
        fVar50 = pfVar27[6];
        if (fVar8 == 2.66247e-44) {
          iVar45 = *(int *)(puVar52 + 0xf0dd4);
          if (0 < (int)fVar50) {
            fStack_1ec = 0.0;
            dVar60 = *(double *)(iVar45 + -0x5ae8);
            iVar49 = 0;
            do {
              iVar44 = 1;
              iVar32 = iVar48;
              fVar59 = fStack_1ec;
              iVar51 = iVar49;
              do {
                iVar51 = iVar51 + 1;
                fVar59 = (float)((int)fVar59 + 1);
                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {
                  bVar1 = iVar44 < 3;
                  if (!bVar1) goto LAB_002b8734;
                  iVar19 = iVar44 * iVar48 + iVar19;
                  iVar49 = iVar51;
                  fStack_1ec = fVar59;
                  if (iVar51 == 0x80) goto LAB_002b8a88;
LAB_002b8690:
                  bVar1 = iVar44 < 3;
                  iVar49 = iVar51;
                  fStack_1ec = fVar59;
                  if (fVar59 != fVar50) goto LAB_002b869c;
                  goto LAB_002b8a88;
                }
                fVar28 = pfVar27[0xb4];
                if (uVar26 == 9) {
                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&
                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,
                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=
                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;
                }
                else {
                  iVar35 = iVar32 + (int)fVar39 * -4;
                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;
                  if (uVar26 == 0xb) {
                    iVar41 = iVar32 + iVar19;
                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;
                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;
                    iVar43 = *(int *)((int)fVar28 + 8) * 4;
                    if (*(float *)(iVar35 + iVar29) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                        *(float *)(iVar35 + iVar43) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                        *(float *)(iVar35 + iVar42) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=
                        *(float *)(iVar41 + iVar29) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                        *(float *)(iVar41 + iVar43) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                        *(float *)(iVar41 + iVar42) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;
                  }
                  else {
                    iVar41 = iVar19 + iVar32;
                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||
                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,
                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||
                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,
                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||
                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&
                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,
                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {
LAB_002b8680:
                      if (iVar44 < 3) {
                        iVar19 = iVar44 * iVar48 + iVar19;
                        goto LAB_002b8690;
                      }
                      goto LAB_002b8734;
                    }
                  }
                }
                iVar44 = iVar44 + 1;
                iVar32 = iVar32 + iVar48;
              } while (iVar44 != 0x80);
              fVar59 = (float)((int)fStack_1ec + 0x80);
LAB_002b8734:
              bVar1 = iVar44 < 3;
              fStack_1ec = fVar59;
              if (iVar49 == 0) {
LAB_002b873c:
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);
                if ((uVar26 & 3) == 1) {
                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {
LAB_002b8944:
                    uVar17 = 0;
                  }
                  else {
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);
                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {
                      uVar17 = (int)fVar50 & 0xff;
                    }
                    else {
                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &
                               0xff;
                    }
                  }
LAB_002b8948:
                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                }
                else {
                  fVar50 = pfVar27[0xb4];
                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);
                  if ((uVar26 & 3) == 3) {
                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *
                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *
                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);
                    if (fVar50 <= 0.0) goto LAB_002b8944;
                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                      if (dVar62 < dVar65) {
LAB_002b8a58:
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
LAB_002b89a4:
                        uVar17 = (int)(dVar62 - dVar65) & 0xff;
                      }
                    }
                    else {
LAB_002b93cc:
                      uVar17 = 0xff;
                    }
                    goto LAB_002b8948;
                  }
                  if (pfVar27[8] == 7.00649e-45) {
                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);
                    if (fVar50 <= 0.0) {
                      uVar17 = 0;
                      uVar34 = 0;
                      uVar18 = 0;
                    }
                    else {
                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));
                        uVar18 = (extraout_v1_05 & 0xff) << 5;
                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;
                        uVar34 = (uint)(char)uVar18;
                      }
                      else {
                        uVar17 = 3;
                        uVar34 = 0xffffffe0;
                        uVar18 = 0x1fe0;
                      }
                    }
                    if (NAN(fVar59)) {
LAB_002b94d4:
                      uVar34 = uVar34 & 0xff;
                    }
                    else if (0.0 < fVar59) {
                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));
                        uVar34 = uVar34 | extraout_v1_06;
                        goto LAB_002b94d4;
                      }
                      uVar34 = 0xff;
                    }
                    else {
                      uVar34 = uVar18 & 0xff;
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);
                    fVar50 = pfVar27[0xb4];
                    if ((pfVar27[0xaf] != 0.0) &&
                       ((*(int *)((int)fVar50 + 0x34) == 0 ||
                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <
                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {
                      uVar17 = uVar17 | 0xffffff80;
                    }
                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);
                    if (0.0 < fVar50) {
                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));
                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));
                      }
                      else {
                        uVar17 = uVar17 | 0xfffffffc;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);
                  }
                  else {
                    if (fVar59 <= 0.0) {
                      uVar17 = 0;
                    }
                    else {
                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);
                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {
                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                        }
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
                        uVar17 = 0xff;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);
                    if (fVar50 <= 0.0) {
                      uVar17 = 0;
                    }
                    else {
                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {
                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                        }
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
                        uVar17 = 0xff;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);
                    if (fVar50 <= 0.0) {
                      uVar17 = 0;
                    }
                    else {
                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {
                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                        }
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
                        uVar17 = 0xff;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                    if (pfVar27[0xaf] != 0.0) {
                      uVar17 = 0xff;
                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {
                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);
                        if (0.0 < fVar50) {
                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                          if (dVar62 < dVar60) {
                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                            if (dVar65 <= dVar62) goto LAB_002b89a4;
                            goto LAB_002b8a58;
                          }
                          goto LAB_002b93cc;
                        }
                        goto LAB_002b8944;
                      }
                      goto LAB_002b8948;
                    }
                  }
                }
                fVar50 = pfVar27[6];
                iVar51 = 0;
                iVar19 = iVar44 * iVar48 + iVar19;
              }
              else {
LAB_002b8a88:
                iVar51 = *(int *)(puVar52 + 0xf0dcc);
                uVar17 = iVar49 - 1;
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);
                iVar49 = iVar19 - iVar49 * iVar48;
                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                dVar65 = *(double *)(iVar45 + -0x5ae8);
                do {
                  fVar50 = pfVar27[0xb4];
                  if ((uVar26 & 3) == 1) {
                    if (*(int *)((int)fVar50 + 0x40) == 0) {
LAB_002b8cac:
                      uVar18 = 0;
                    }
                    else {
                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);
                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {
                        uVar18 = (int)fVar50 & 0xff;
                      }
                      else {
                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &
                                 0xff;
                      }
                    }
LAB_002b8cb0:
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                  }
                  else {
                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);
                    if ((uVar26 & 3) == 3) {
                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *
                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *
                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);
                      if (fVar50 <= 0.0) goto LAB_002b8cac;
                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;
                        }
                        else {
LAB_002b9048:
                          uVar18 = (int)dVar66 & 0xff;
                        }
                      }
                      else {
                        uVar18 = 0xff;
                      }
                      goto LAB_002b8cb0;
                    }
                    if (pfVar27[8] == 7.00649e-45) {
                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);
                      if (fVar50 <= 0.0) {
                        uVar18 = 0;
                        uVar30 = 0;
                        uVar34 = 0;
                      }
                      else {
                        dVar66 = ((double)fVar50 *
                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));
                          uVar34 = (extraout_v1_02 & 0xff) << 5;
                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;
                          uVar30 = (uint)(char)uVar34;
                        }
                        else {
                          uVar18 = 3;
                          uVar30 = 0xffffffe0;
                          uVar34 = 0x1fe0;
                        }
                      }
                      if (NAN(fVar59)) {
                        uVar30 = uVar30 & 0xff;
                      }
                      else if (0.0 < fVar59) {
                        dVar66 = ((double)fVar59 *
                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));
                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;
                        }
                        else {
                          uVar30 = 0xff;
                        }
                      }
                      else {
                        uVar30 = uVar34 & 0xff;
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);
                      if (pfVar27[0xaf] == 0.0) {
                        fVar50 = pfVar27[0xb4];
                      }
                      else {
                        fVar50 = pfVar27[0xb4];
                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||
                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <
                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {
                          uVar18 = uVar18 | 0xffffff80;
                        }
                      }
                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);
                      if (0.0 < fVar50) {
                        dVar66 = ((double)fVar50 *
                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));
                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))
                          ;
                        }
                        else {
                          uVar18 = uVar18 | 0xfffffffc;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);
                    }
                    else {
                      if (fVar59 <= 0.0) {
                        uVar18 = 0;
                      }
                      else {
                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);
                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);
                          }
                          uVar18 = (int)dVar66 & 0xff;
                        }
                        else {
                          uVar18 = 0xff;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);
                      if (fVar50 <= 0.0) {
                        uVar18 = 0;
                      }
                      else {
                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);
                          }
                          uVar18 = (int)dVar66 & 0xff;
                        }
                        else {
                          uVar18 = 0xff;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);
                      if (fVar50 <= 0.0) {
                        uVar18 = 0;
                      }
                      else {
                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);
                          }
                          uVar18 = (int)dVar66 & 0xff;
                        }
                        else {
                          uVar18 = 0xff;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                      if (pfVar27[0xaf] != 0.0) {
                        uVar18 = 0xff;
                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {
                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);
                          if (fVar50 <= 0.0) goto LAB_002b8cac;
                          dVar66 = (double)fVar50 / dVar69;
                          uVar18 = 0xff;
                          if (dVar66 < dVar65) {
                            dVar66 = dVar66 + dVar67;
                            if (dVar66 < dVar62) goto LAB_002b9048;
                            uVar18 = (int)(dVar66 - dVar62) & 0xff;
                          }
                        }
                        goto LAB_002b8cb0;
                      }
                    }
                  }
                  uVar17 = uVar17 - 1;
                  iVar49 = iVar49 + iVar48;
                } while (uVar17 != 0xffffffff);
                iVar51 = 0;
                if (!bVar1) goto LAB_002b873c;
                fVar50 = pfVar27[6];
              }
LAB_002b869c:
              iVar49 = iVar51;
            } while ((int)fStack_1ec < (int)fVar50);
          }
        }
        else if (0 < (int)fVar50) {
          iVar51 = 0;
          iVar45 = *(int *)(puVar52 + 0xf0dd4);
          iVar49 = *(int *)(puVar52 + 0xf0dcc);
          dVar65 = *(double *)(iVar37 + -0x5af0);
          dVar66 = *(double *)(iVar45 + -0x5ae8);
          dVar62 = *(double *)(iVar23 + 0x1400);
          dVar60 = *(double *)(iVar49 + 0x1410);
          do {
            fVar50 = pfVar27[0xb4];
            if ((uVar26 & 3) == 1) {
              if (*(int *)((int)fVar50 + 0x40) == 0) {
LAB_002b8324:
                uVar17 = 0;
              }
              else {
                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);
                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {
                  uVar17 = (int)fVar50 & 0xff;
                }
                else {
                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;
                }
              }
LAB_002b8328:
              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
            }
            else {
              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);
              if ((uVar26 & 3) == 3) {
                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *
                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *
                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);
                if (fVar50 <= 0.0) goto LAB_002b8324;
                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;
                  }
                  else {
LAB_002b8e7c:
                    uVar17 = (int)dVar54 & 0xff;
                  }
                }
                else {
                  uVar17 = 0xff;
                }
                goto LAB_002b8328;
              }
              if (pfVar27[8] == 7.00649e-45) {
                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);
                if (fVar50 <= 0.0) {
                  uVar17 = 0;
                  uVar34 = 0;
                  uVar18 = 0;
                }
                else {
                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));
                    uVar18 = (extraout_v1 & 0xff) << 5;
                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;
                    uVar34 = (uint)(char)uVar18;
                  }
                  else {
                    uVar17 = 3;
                    uVar34 = 0xffffffe0;
                    uVar18 = 0x1fe0;
                  }
                }
                if (NAN(fVar59)) {
LAB_002b8f78:
                  uVar34 = uVar34 & 0xff;
                }
                else if (0.0 < fVar59) {
                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));
                    uVar34 = uVar34 | extraout_v1_00;
                    goto LAB_002b8f78;
                  }
                  uVar34 = 0xff;
                }
                else {
                  uVar34 = uVar18 & 0xff;
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);
                if (pfVar27[0xaf] == 0.0) {
                  fVar50 = pfVar27[0xb4];
                }
                else {
                  fVar50 = pfVar27[0xb4];
                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||
                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <
                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {
                    uVar17 = uVar17 | 0xffffff80;
                  }
                }
                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);
                if (0.0 < fVar50) {
                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));
                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));
                  }
                  else {
                    uVar17 = uVar17 | 0xfffffffc;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);
              }
              else {
                if (fVar59 <= 0.0) {
                  uVar17 = 0;
                }
                else {
                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);
                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);
                    }
                    uVar17 = (int)dVar54 & 0xff;
                  }
                  else {
                    uVar17 = 0xff;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);
                if (fVar50 <= 0.0) {
                  uVar17 = 0;
                }
                else {
                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);
                    }
                    uVar17 = (int)dVar54 & 0xff;
                  }
                  else {
                    uVar17 = 0xff;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);
                if (fVar50 <= 0.0) {
                  uVar17 = 0;
                }
                else {
                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);
                    }
                    uVar17 = (int)dVar54 & 0xff;
                  }
                  else {
                    uVar17 = 0xff;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                if (pfVar27[0xaf] != 0.0) {
                  uVar17 = 0xff;
                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);
                    if (fVar50 <= 0.0) goto LAB_002b8324;
                    dVar54 = (double)fVar50 / dVar65;
                    uVar17 = 0xff;
                    if (dVar54 < dVar66) {
                      dVar54 = dVar54 + dVar62;
                      if (dVar54 < dVar60) goto LAB_002b8e7c;
                      uVar17 = (int)(dVar54 - dVar60) & 0xff;
                    }
                  }
                  goto LAB_002b8328;
                }
              }
            }
            iVar51 = iVar51 + 1;
            iVar19 = iVar19 + iVar48;
          } while (iVar51 < (int)pfVar27[6]);
        }
        fVar50 = pfVar27[7];
        fVar38 = (float)((int)fVar38 + 1);
        if ((uint)fVar50 <= (uint)fVar38) {
          fStack_1a0 = (float)((int)fStack_1a0 + 1);
          fVar38 = fStack_1a0;
        }
        if (pfVar27[0xcd9] == 0.0) {
          iVar19 = (**(code **)(puVar52 + 0xf11a0))
                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50
                             );
          if (iVar19 == 0) break;
          fVar50 = pfVar27[7];
        }
        uVar17 = uStack_1c8 + 1;
        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;
        uStack_1c8 = uVar17;
      } while ((int)uVar17 < (int)fVar50);
    }
    (**(code **)(puVar52 + 0xf1b74))(pfVar27);
    return (float *)0x1;
  }
  (**(code **)(puVar52 + 0xf140c))
            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353
             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,
             pfVar27 + 0xd0);
  pfVar31 = pfVar27;
  if (pfVar5[3] == 0.0) {
    pcVar53 = *(code **)(puVar52 + 0xf1b74);
  }
  else {
    do {
      pfVar27 = pfVar31;
      pcVar53 = *(code **)(puVar52 + 0xf1b74);
      pfVar31 = (float *)pfVar27[0xcd9];
    } while ((float *)pfVar27[0xcd9] != (float *)0x0);
  }
LAB_002b7c64:
  (*pcVar53)(pfVar27);
  return (float *)0x0;
}


lui gp,0x10
addiu gp,gp,-0x5f00
addu gp,gp,t9
addiu sp,sp,-0x130
sdc1 f28,0x128(sp)
sw s2,0xe8(sp)
lw s2,-0x7680(gp)
sw gp,0x28(sp)
sw ra,0x104(sp)
sw s8,0x100(sp)
sw s7,0xfc(sp)
sw s6,0xf8(sp)
sw s5,0xf4(sp)
sw s4,0xf0(sp)
sw s3,0xec(sp)
sw s1,0xe4(sp)
sw s0,0xe0(sp)
lw v0,0x0(s2)
sdc1 f26,0x120(sp)
sdc1 f24,0x118(sp)
sw v0,0xdc(sp)
sdc1 f22,0x110(sp)
beq a0,zero,0x002b7ac0
_sdc1 f20,0x108(sp)
lui v0,0xabac
lw v1,0x3214(a0)
ori v0,v0,0xadab
bne v1,v0,0x002b7a9c
_or s0,a0,zero
lw v0,0x3210(a0)
bne v0,zero,0x002b6b20
_or s1,a1,zero
beq s1,zero,0x002b7ae4
_lui v0,0xabac
lw v1,0x1c(s1)
ori v0,v0,0xadab
bne v1,v0,0x002b7a78
_lw t9,-0x72a4(gp)
or a1,s1,zero
jalr t9
_or a0,s0,zero
li a2,0x2
lw gp,0x28(sp)
or a3,s1,zero
or a1,v0,zero
or a0,s0,zero
lw t9,-0x7664(gp)
jalr t9
_or s6,v0,zero
beq v0,zero,0x002b6b94
_lw gp,0x28(sp)
lw t9,-0x7b04(gp)
addiu a2,sp,0x6c
li a1,0x1
jalr t9
_or a0,s6,zero
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x70c0(gp)
jalr t9
_or s3,v0,zero
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x70c0(gp)
jalr t9
_sb v0,0x6d(sp)
li v1,0x1
lw gp,0x28(sp)
bne s3,v1,0x002b68ec
_sw v0,0x68(sp)
addiu v1,v0,-0x1
sltiu v1,v1,0x3
bne v1,zero,0x002b69b8
_li v1,0x9
beq v0,v1,0x002b69c0
_addiu v0,v0,-0xa
sltiu v0,v0,0x2
bne v0,zero,0x002b69cc
_lw t9,-0x71b4(gp)
addiu s0,s0,0x2210
li a3,0xdd
lw v0,-0x7fd0(gp)
lw a2,-0x7f64(gp)
lw a1,-0x7f64(gp)
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x3768
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x3720
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x190
sw v0,0x14(sp)
li v0,0x1a9
or a0,s1,zero
jalr t9
_sw v0,0x10(sp)
beq s6,zero,0x002b6960
_lw gp,0x28(sp)
lw t9,-0x7228(gp)
or a0,s6,zero
jalr t9
_nop
lw gp,0x28(sp)
lw t9,-0x73a0(gp)
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
or s6,zero,zero
lw a0,0xdc(sp)
or v0,s6,zero
lw v1,0x0(s2)
bne a0,v1,0x002b7b08
_lw ra,0x104(sp)
lw s8,0x100(sp)
lw s7,0xfc(sp)
lw s6,0xf8(sp)
lw s5,0xf4(sp)
lw s4,0xf0(sp)
lw s3,0xec(sp)
lw s2,0xe8(sp)
lw s1,0xe4(sp)
lw s0,0xe0(sp)
ldc1 f28,0x128(sp)
ldc1 f26,0x120(sp)
ldc1 f24,0x118(sp)
ldc1 f22,0x110(sp)
ldc1 f20,0x108(sp)
jr ra
_addiu sp,sp,0x130
bne v0,s3,0x002b69cc
_lw t9,-0x71b4(gp)
lbu v0,0x6d(sp)
beq v0,zero,0x002b68ec
_lw t9,-0x71b4(gp)
jalr t9
_or a0,s6,zero
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x71b4(gp)
jalr t9
_sh v0,0x6e(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x70c0(gp)
jalr t9
_sh v0,0x70(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x71b4(gp)
jalr t9
_sb v0,0x72(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x71b4(gp)
jalr t9
_sh v0,0x74(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x71b4(gp)
jalr t9
_sh v0,0x76(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x71b4(gp)
jalr t9
_sh v0,0x78(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x70c0(gp)
jalr t9
_sh v0,0x7a(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x70c0(gp)
jalr t9
_sb v0,0x7c(sp)
or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x7168(gp)
jalr t9
_sb v0,0x7d(sp)
bne v0,zero,0x002b6b5c
_lw gp,0x28(sp)
lbu a1,0x7c(sp)
addiu v0,a1,-0x2
andi v1,v0,0xff
sltiu v0,v1,0x1f
beq v0,zero,0x002b7190
_lui v0,0x4040
addiu v0,v0,0x7fff
srlv v0,v0,v1
ext v0,v0,0x0,0x1
beq v0,zero,0x002b7190
_lhu a0,0x78(sp)
li v0,0x3
lhu v1,0x7a(sp)
lw a2,0x68(sp)
sw a0,0x18(s6)
beq a2,v0,0x002b6bac
_sw v1,0x1c(s6)
li v0,0xb
beq a2,v0,0x002b6bac
_lbu v0,0x7d(sp)
andi v0,v0,0xf
beq v0,zero,0x002b71c4
_li v0,0x20
li v0,0x4
li v1,0x1
bne a2,v1,0x002b7878
_sw v0,0x2bc(s6)
lbu v0,0x72(sp)
sltiu v1,v0,0x9
beq v1,zero,0x002b72a0
_sltiu v0,v0,0x11
li v0,0x8
sw v0,0x20(s6)
li v0,0x2
b 0x002b6bc4
_sw v0,0x0(s6)
addiu v0,a0,0x2210
lw a2,-0x7f64(gp)
lw a1,-0x7f64(gp)
li a3,0xc2
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,0x3768
lw v0,-0x7fcc(gp)
addiu a1,a1,0x3720
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x002b6830
_lw gp,0x28(sp)
lw v0,-0x7fd0(gp)
addiu s0,s0,0x2210
lw a2,-0x7f64(gp)
li a3,0xe8
lw a1,-0x7f64(gp)
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x3768
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x3720
lw v0,-0x7fc8(gp)
b 0x002b6920
_addiu v0,v0,-0x18cc
lw t9,-0x73a0(gp)
or a0,s6,zero
jalr t9
_or s6,zero,zero
b 0x002b6964
_lw gp,0x28(sp)
addiu v0,a1,-0x9
li a0,0x8
li v1,0x5
sltiu v0,v0,0x8
movz v1,a0,v0
sw v1,0x20(s6)
li v0,-0x9
li v1,0x3
and v0,a2,v0
beq v0,v1,0x002b70d0
_li v1,0x10
li v0,0x9
beq a2,v0,0x002b70fc
_sw v1,0x8(s6)
li v0,0xa
beq a2,v0,0x002b7100
_li v0,0x13
lw v1,0x0(s6)
li v0,0x2
beq v1,v0,0x002b7130
_lbu v0,0x6d(sp)
lbu s3,0x6c(sp)
bne s3,zero,0x002b7148
_lw t9,-0x73a4(gp)
li v0,0x4
sw v0,0x10(s6)
lbu v0,0x7d(sp)
andi v1,v0,0x10
bne v1,zero,0x002b7108
_andi v0,v0,0x20
bne v0,zero,0x002b719c
_li v0,0x1
lw v0,0x1dc(s0)
bne v0,zero,0x002b711c
_lw t9,-0x7404(gp)
or a3,s1,zero
lw a2,0x1c(s6)
or a0,s6,zero
jalr t9
_lw a1,0x18(s6)
beq v0,zero,0x002b71ac
_lw gp,0x28(sp)
lw v0,-0x7fd0(gp)
addiu s4,sp,0x80
lw t9,-0x71dc(gp)
li a2,0x58
or a1,zero,zero
or s3,v0,zero
sw v0,0x34(sp)
jalr t9
_or a0,s4,zero
ldc1 f0,0x1a58(s3)
lbu v0,0x6d(sp)
lw gp,0x28(sp)
beq v0,zero,0x002b6e7c
_sdc1 f0,0xc8(sp)
lw a1,0x24(s6)
lhu v0,0x6e(sp)
sltu v1,a1,v0
beq v1,zero,0x002b6ca8
_lw t9,-0x771c(gp)
sw v0,0x24(s6)
or a1,v0,zero
or a2,s1,zero
jalr t9
_or a0,s6,zero
beq v0,zero,0x002b7a6c
_lw gp,0x28(sp)
lhu s5,0x6e(sp)
beq s5,zero,0x002b6d28
_nop
li t2,0x58
lw a0,0x28(s6)
addiu s8,sp,0xd0
mul v0,s5,t2
addu t2,v0,a0
or v0,s4,zero
or v1,a0,zero
lw t1,0x0(v0)
addiu v0,v0,0x10
addiu v1,v1,0x10
lw a3,-0xc(v0)
lw a2,-0x8(v0)
lw a1,-0x4(v0)
sw t1,-0x10(v1)
sw a3,-0xc(v1)
sw a2,-0x8(v1)
bne v0,s8,0x002b6ce4
_sw a1,-0x4(v1)
lw a1,0x0(s8)
addiu a0,a0,0x58
lw v0,0x4(s8)
sw a1,0x0(v1)
bne t2,a0,0x002b6cdc
_sw v0,0x4(v1)
lw v0,0x24(s6)
slt v0,s5,v0
beq v0,zero,0x002b6e7c
_lw v0,0x34(sp)
li s3,0x58
addiu s8,sp,0xd0
mul s3,s5,s3
ldc1 f26,0x1a58(v0)
li s7,0x18
lw v0,-0x7fc8(gp)
ldc1 f20,-0x5af0(v0)
lw v0,-0x7f64(gp)
ldc1 f24,0x37b0(v0)
mov.D f28,f20
mov.D f22,f20
lbu v0,0x72(sp)
beq v0,s7,0x002b76bc
_sltiu v1,v0,0x19
beq v1,zero,0x002b7574
_li v1,0x20
addiu v0,v0,-0xf
li v1,0x1
sltu v0,v1,v0
bne v0,zero,0x002b7684
_lw t9,-0x70c0(gp)
jalr t9
_or a0,s6,zero
or a0,s6,zero
lw gp,0x28(sp)
andi a1,v0,0xff
lw t9,-0x70c0(gp)
jalr t9
_sw a1,0x30(sp)
sll v1,v0,0x3
lw a1,0x30(sp)
ext v0,v0,0x2,0x5
lw gp,0x28(sp)
andi v1,v1,0x18
mtc1 v0,f0
srl a0,a1,0x5
andi a1,a1,0x1f
addu v1,v1,a0
mtc1 a1,f2
cvt.d.W f4,f0
mtc1 v1,f0
cvt.d.W f2,f2
mul.D f4,f4,f24
cvt.d.W f0,f0
mul.D f2,f2,f24
mul.D f4,f4,f26
mul.D f0,f0,f24
mul.D f2,f2,f26
cvt.s.D f4,f4
mul.D f0,f0,f26
cvt.s.D f2,f2
cvt.d.S f4,f4
cvt.s.D f0,f0
cvt.d.S f2,f2
sdc1 f4,0xa8(sp)
cvt.d.S f0,f0
sdc1 f2,0xb8(sp)
sdc1 f0,0xb0(sp)
lw v0,0x28(s6)
or v1,s4,zero
addu v0,v0,s3
lw a3,0x0(v1)
addiu v1,v1,0x10
addiu v0,v0,0x10
lw a2,-0xc(v1)
lw a1,-0x8(v1)
lw a0,-0x4(v1)
sw a3,-0x10(v0)
sw a2,-0xc(v0)
sw a1,-0x8(v0)
bne v1,s8,0x002b6e2c
_sw a0,-0x4(v0)
lw a0,0x0(s8)
addiu s5,s5,0x1
lw v1,0x4(s8)
sw a0,0x0(v0)
sw v1,0x4(v0)
lw v0,0x24(s6)
slt v0,s5,v0
bne v0,zero,0x002b6d64
_addiu s3,s3,0x58
lw v0,0x1c(s6)
blez v0,0x002b783c
_sb zero,0x67(sp)
lw v0,-0x7fc8(gp)
mtc1 zero,f24
or s8,zero,zero
or s3,zero,zero
sw zero,0x40(sp)
sw zero,0x44(sp)
sw v0,0x30(sp)
ldc1 f22,-0x5af0(v0)
lw v0,-0x7f64(gp)
sw zero,0x38(sp)
sw zero,0x4c(sp)
ldc1 f20,0x37b0(v0)
lw v0,-0x7fd0(gp)
addiu v0,v0,0x3e28
sw v0,0x48(sp)
lw a3,0x18(s6)
li v0,0x1
lw t9,-0x798c(gp)
or a1,zero,zero
lw a2,0x38(sp)
or a0,s6,zero
sw s1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
beq v0,zero,0x002b783c
_or s5,v0,zero
lw a3,0x18(s6)
blez a3,0x002b77b8
_lw v0,0x30(sp)
or s7,zero,zero
ldc1 f26,-0x5af0(v0)
lw v0,-0x7fcc(gp)
b 0x002b6fa8
_sw v0,0x3c(sp)
lw a2,0x0(s6)
ldc1 f2,0xb0(sp)
lw a0,0x2bc(s6)
ldc1 f0,0xb8(sp)
li a1,0x2
beq a2,a1,0x002b72e8
_lw v0,0x2d0(s6)
cvt.s.D f28,f28
lw t3,0x8(v0)
lw a2,0x14(v0)
cvt.s.D f2,f2
lw a1,0x20(v0)
sll t3,t3,0x2
cvt.s.D f0,f0
sll a2,a2,0x2
sll a1,a1,0x2
addu t3,s5,t3
addu a2,s5,a2
addu a1,s5,a1
swc1 f28,0x0(t3)
swc1 f2,0x0(a2)
beq a0,zero,0x002b6f90
_swc1 f0,0x0(a1)
lw a0,0x34(v0)
beq a0,zero,0x002b6f90
_ldc1 f0,0xc8(sp)
lw v0,0x38(v0)
sll v0,v0,0x2
addu v0,s5,v0
cvt.s.D f0,f0
swc1 f0,0x0(v0)
lw v0,0x2c0(s6)
addiu s7,s7,0x1
slt a0,s7,a3
sll v0,v0,0x2
beq a0,zero,0x002b77b8
_addu s5,s5,v0
lw v0,0x68(sp)
addiu v0,v0,-0x9
sltiu v0,v0,0x3
beq v0,zero,0x002b6fcc
_lbu v0,0x67(sp)
beq v0,zero,0x002b73b8
_addiu v0,v0,-0x1
sltu s8,zero,s3
sb v0,0x67(sp)
bne s8,zero,0x002b6f14
_ldc1 f28,0xa8(sp)
lbu v0,0x7c(sp)
li a0,0x18
beq v0,a0,0x002b73f4
_sltiu a0,v0,0x19
beq a0,zero,0x002b7308
_li a0,0x20
addiu v0,v0,-0xf
li a0,0x1
sltu v0,a0,v0
bne v0,zero,0x002b747c
_lw t9,-0x7b04(gp)
addiu a2,sp,0xd8
li a1,0x2
jalr t9
_or a0,s6,zero
li a0,0x2
bne v0,a0,0x002b7974
_lw gp,0x28(sp)
lbu a1,0xd9(sp)
lw v0,0x34(sp)
lbu a2,0xd8(sp)
sll a3,a1,0x3
lw a0,0x2bc(s6)
ldc1 f4,0x1a58(v0)
ext v0,a1,0x2,0x5
srl t2,a2,0x5
mtc1 v0,f0
andi a3,a3,0x18
addu a3,a3,t2
andi t2,a2,0x1f
cvt.d.W f28,f0
mtc1 a3,f0
mul.D f28,f28,f20
cvt.d.W f2,f0
mtc1 t2,f0
mul.D f28,f28,f4
cvt.d.W f0,f0
mul.D f2,f2,f20
cvt.s.D f28,f28
mul.D f0,f0,f20
mul.D f2,f2,f4
cvt.d.S f28,f28
mul.D f0,f0,f4
cvt.s.D f2,f2
sdc1 f28,0xa8(sp)
cvt.s.D f0,f0
cvt.d.S f2,f2
cvt.d.S f0,f0
sdc1 f2,0xb0(sp)
beq a0,zero,0x002b70b4
_sdc1 f0,0xb8(sp)
mtc1 zero,f6
srl v0,a1,0x7
mthc1 zero,f6
movz.D f4,f6,v0
sdc1 f4,0xc8(sp)
lw a3,0x0(s6)
li v0,0x2
beq a3,v0,0x002b72bc
_or s8,zero,zero
lw v0,0x2d0(s6)
b 0x002b6f30
_lw a3,0x18(s6)
li v0,0x2
li a0,0x10
sw v0,0x2a0(s6)
li v0,0x3
li v1,0x9
sw a0,0x8(s6)
sw v0,0x4(s6)
li v0,-0x3
and v0,a2,v0
bne v0,v1,0x002b6be8
_li v0,0xa
li v0,0x13
b 0x002b6bf0
_sw v0,0x8(s6)
bne v0,zero,0x002b71a4
_li v0,0x2
li v0,0x3
b 0x002b6c2c
_sw v0,0x10(s6)
lw t9,-0x7228(gp)
jalr t9
_or a0,s6,zero
b 0x002b6964
_lw gp,0x28(sp)
beq v0,zero,0x002b71e0
_lhu v0,0x6e(sp)
lhu v1,0x70(sp)
addu v0,v0,v1
b 0x002b6c00
_sw v0,0x24(s6)
li a1,0x1
jalr t9
_addiu a0,s3,0x1000
lw gp,0x28(sp)
beq v0,zero,0x002b798c
_or s4,v0,zero
lw t9,-0x7b04(gp)
or a2,v0,zero
or a1,s3,zero
jalr t9
_or a0,s6,zero
beq s3,v0,0x002b7274
_lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s4,zero
b 0x002b6c0c
_lw gp,0x28(sp)
addiu s0,s0,0x2210
b 0x002b68f4
_li a3,0xeb
b 0x002b6c2c
_sw v0,0x10(s6)
b 0x002b6c2c
_sw v0,0x10(s6)
lw t9,-0x73a0(gp)
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
b 0x002b6964
_or s6,v0,zero
beq a1,v0,0x002b6aec
_lbu v0,0x72(sp)
li v1,0x4
xori v0,v0,0x20
movn v1,zero,v0
b 0x002b6af0
_or v0,v1,zero
li s3,0x1
lw t9,-0x73f8(gp)
or a0,s6,zero
sllv s3,s3,a1
jalr t9
_sw s3,0x24(s6)
beq v0,zero,0x002b7998
_lw gp,0x28(sp)
lw t9,-0x771c(gp)
or a2,s1,zero
lw a1,0x24(s6)
jalr t9
_or a0,s6,zero
bne v0,zero,0x002b6c00
_lw gp,0x28(sp)
addiu s0,s0,0x2210
li a3,0x11c
lw v0,-0x7fd0(gp)
or a0,s1,zero
lw a2,-0x7f64(gp)
lw a1,-0x7f64(gp)
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x3768
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x3720
lw v0,-0x7fd0(gp)
addiu v0,v0,0x16f8
sw v0,0x14(sp)
li v0,0x190
jalr t9
_sw v0,0x10(sp)
or a0,s6,zero
lw gp,0x28(sp)
b 0x002b6944
_lw t9,-0x7228(gp)
lw a1,-0x7fc8(gp)
addu s3,s4,s3
lw t9,-0x737c(gp)
or a3,s1,zero
or a2,s4,zero
addiu a1,a1,-0x1928
sb zero,0x0(s3)
jalr t9
_or a0,s6,zero
b 0x002b717c
_lw gp,0x28(sp)
beq v0,zero,0x002b6b10
_li v0,0x8
li v0,0x5
sw v0,0x20(s6)
li v0,0x2
b 0x002b6bc4
_sw v0,0x0(s6)
sll a1,a1,0x8
lw v0,0x24(s6)
addu a2,a1,a2
slt v0,a2,v0
beq v0,zero,0x002b7744
_li v0,0x1a9
mtc1 a2,f4
cvt.s.W f24,f4
lw v0,0x2d0(s6)
or s8,zero,zero
lw a3,0x18(s6)
lw a1,0x40(v0)
beq a1,zero,0x002b6f30
_nop
lw a1,0x44(v0)
sll a1,a1,0x2
addu a1,s5,a1
b 0x002b6f30
_swc1 f24,0x0(a1)
bne v0,a0,0x002b747c
_lw t9,-0x7b04(gp)
addiu a2,sp,0xd8
li a1,0x4
jalr t9
_or a0,s6,zero
li a0,0x4
bne v0,a0,0x002b7968
_lw gp,0x28(sp)
lbu a1,0xda(sp)
or s8,zero,zero
lbu a2,0xd8(sp)
lbu a0,0xd9(sp)
mtc1 a1,f4
lbu v0,0xdb(sp)
lw v1,0x30(sp)
mtc1 a2,f0
lw a3,0x18(s6)
lw a2,0x0(s6)
mtc1 a0,f2
ldc1 f6,-0x5af0(v1)
lw a0,0x2bc(s6)
cvt.d.W f28,f4
mtc1 v0,f4
cvt.d.W f0,f0
cvt.d.W f2,f2
mul.D f28,f28,f6
cvt.d.W f4,f4
mul.D f0,f0,f6
mul.D f2,f2,f6
mul.D f4,f4,f6
cvt.s.D f0,f0
cvt.s.D f2,f2
cvt.s.D f28,f28
cvt.s.D f4,f4
cvt.d.S f0,f0
cvt.d.S f2,f2
cvt.d.S f28,f28
cvt.d.S f4,f4
sdc1 f0,0xb8(sp)
sdc1 f2,0xb0(sp)
sdc1 f28,0xa8(sp)
b 0x002b6f24
_sdc1 f4,0xc8(sp)
lw t9,-0x7b04(gp)
addiu a2,sp,0x67
li a1,0x1
jalr t9
_or a0,s6,zero
li a0,0x1
bne v0,a0,0x002b7918
_lw gp,0x28(sp)
lbu v0,0x67(sp)
seb a0,v0
bgez a0,0x002b7534
_addiu v0,v0,-0x80
li s3,0x80
b 0x002b6fd4
_sb v0,0x67(sp)
lw t9,-0x7b04(gp)
addiu a2,sp,0xd8
li a1,0x3
jalr t9
_or a0,s6,zero
li a0,0x3
bne v0,a0,0x002b7980
_lw gp,0x28(sp)
lbu a0,0xd8(sp)
or s8,zero,zero
lbu a1,0xd9(sp)
lbu v0,0xda(sp)
mtc1 a0,f0
lw a2,0x0(s6)
lw a0,0x2bc(s6)
mtc1 a1,f2
lw a3,0x18(s6)
mtc1 v0,f4
cvt.d.W f0,f0
cvt.d.W f2,f2
cvt.d.W f28,f4
mul.D f0,f0,f22
mul.D f2,f2,f22
mul.D f28,f28,f22
cvt.s.D f0,f0
cvt.s.D f2,f2
cvt.s.D f28,f28
cvt.d.S f0,f0
cvt.d.S f2,f2
cvt.d.S f28,f28
sdc1 f0,0xb8(sp)
sdc1 f2,0xb0(sp)
b 0x002b6f24
_sdc1 f28,0xa8(sp)
lw t9,-0x7b04(gp)
addiu a2,sp,0xd8
li a1,0x1
jalr t9
_or a0,s6,zero
li a0,0x1
bne v0,a0,0x002b795c
_lw gp,0x28(sp)
lbu v0,0xd8(sp)
lbu a0,0x6d(sp)
mtc1 v0,f0
beq a0,zero,0x002b753c
_cvt.s.W f24,f0
lw a0,0x24(s6)
slt a0,v0,a0
beq a0,zero,0x002b762c
_lw s8,0x28(s6)
li a0,0x58
mul v1,v0,a0
addu s8,v1,s8
addiu a1,s8,0x50
or v0,s8,zero
or a0,s4,zero
lw t3,0x0(v0)
addiu v0,v0,0x10
addiu a0,a0,0x10
lw t2,-0xc(v0)
lw a3,-0x8(v0)
lw a2,-0x4(v0)
sw t3,-0x10(a0)
sw t2,-0xc(a0)
sw a3,-0x8(a0)
bne v0,a1,0x002b74d8
_sw a2,-0x4(a0)
lw a1,0x0(v0)
or s8,zero,zero
lw v0,0x4(v0)
sw a1,0x0(a0)
sw v0,0x4(a0)
ldc1 f28,0xa8(sp)
lw a2,0x0(s6)
ldc1 f2,0xb0(sp)
lw a0,0x2bc(s6)
ldc1 f0,0xb8(sp)
b 0x002b6f24
_lw a3,0x18(s6)
b 0x002b6fd4
_or s3,zero,zero
cvt.d.W f28,f0
lw a2,0x0(s6)
or s8,zero,zero
lw a0,0x2bc(s6)
lw a3,0x18(s6)
mul.D f28,f28,f26
cvt.s.D f28,f28
cvt.d.S f28,f28
sdc1 f28,0xa8(sp)
mov.D f0,f28
sdc1 f28,0xb0(sp)
mov.D f2,f28
b 0x002b6f24
_sdc1 f28,0xb8(sp)
bne v0,v1,0x002b7684
_lw t9,-0x70c0(gp)
jalr t9
_or a0,s6,zero
or a0,s6,zero
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
lw t9,-0x70c0(gp)
cvt.d.W f0,f0
mul.D f0,f0,f22
cvt.s.D f0,f0
cvt.d.S f0,f0
jalr t9
_sdc1 f0,0xb8(sp)
or a0,s6,zero
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
lw t9,-0x70c0(gp)
cvt.d.W f0,f0
mul.D f0,f0,f22
cvt.s.D f0,f0
cvt.d.S f0,f0
jalr t9
_sdc1 f0,0xb0(sp)
or a0,s6,zero
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
lw t9,-0x70c0(gp)
cvt.d.W f0,f0
mul.D f0,f0,f22
cvt.s.D f0,f0
cvt.d.S f0,f0
jalr t9
_sdc1 f0,0xa8(sp)
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
cvt.d.W f0,f0
mul.D f0,f0,f22
cvt.s.D f0,f0
cvt.d.S f0,f0
b 0x002b6e20
_sdc1 f0,0xc8(sp)
lw a0,0x0(s1)
li v0,0x1a9
beq a0,v0,0x002b74d0
_addiu a1,s8,0x50
lw v1,0x3c(sp)
addiu a1,s6,0x340
lw a2,-0x7f64(gp)
li a3,0x23
lw t9,-0x7990(gp)
sw a1,0x1c(sp)
addiu a0,v1,-0x5990
sw v0,0x10(sp)
addiu a2,a2,0x3750
sw a0,0x14(sp)
or a0,s1,zero
lw a1,-0x7fc4(gp)
lw v1,0x48(sp)
addiu a1,a1,0x6f4
jalr t9
_sw v1,0x18(sp)
b 0x002b74cc
_lw gp,0x28(sp)
lw t9,-0x70c0(gp)
jalr t9
_or a0,s6,zero
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
cvt.d.W f0,f0
mul.D f0,f0,f28
cvt.s.D f0,f0
cvt.d.S f0,f0
sdc1 f0,0xa8(sp)
sdc1 f0,0xb0(sp)
b 0x002b6e20
_sdc1 f0,0xb8(sp)
lw t9,-0x70c0(gp)
jalr t9
_or a0,s6,zero
or a0,s6,zero
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
lw t9,-0x70c0(gp)
cvt.d.W f0,f0
mul.D f0,f0,f20
cvt.s.D f0,f0
cvt.d.S f0,f0
jalr t9
_sdc1 f0,0xb8(sp)
or a0,s6,zero
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
lw t9,-0x70c0(gp)
cvt.d.W f0,f0
mul.D f0,f0,f20
cvt.s.D f0,f0
cvt.d.S f0,f0
jalr t9
_sdc1 f0,0xb0(sp)
andi v0,v0,0xff
lw gp,0x28(sp)
mtc1 v0,f0
cvt.d.W f0,f0
mul.D f0,f0,f20
cvt.s.D f0,f0
cvt.d.S f0,f0
b 0x002b6e20
_sdc1 f0,0xa8(sp)
lw a1,0x0(s1)
beq a1,v0,0x002b78c4
_lw v1,0x3c(sp)
addiu a1,s6,0x340
mtc1 zero,f24
lw a2,-0x7f64(gp)
li a3,0x23
lw t9,-0x7990(gp)
or s8,zero,zero
sw a1,0x1c(sp)
addiu a0,v1,-0x5990
sw v0,0x10(sp)
addiu a2,a2,0x3750
sw a0,0x14(sp)
or a0,s1,zero
lw a1,-0x7fc4(gp)
lw v1,0x48(sp)
sdc1 f0,0x58(sp)
addiu a1,a1,0x6f4
sdc1 f2,0x50(sp)
jalr t9
_sw v1,0x18(sp)
lw gp,0x28(sp)
lw a2,0x0(s6)
lw a0,0x2bc(s6)
lw a3,0x18(s6)
ldc1 f2,0x50(sp)
b 0x002b6f24
_ldc1 f0,0x58(sp)
lbu v0,0x7d(sp)
li v1,0x2
srl v0,v0,0x6
beq v0,v1,0x002b78d8
_lw v0,0x38(sp)
addiu v0,v0,0x1
sw v0,0x38(sp)
lw v0,0x1c(s6)
lw v1,0x38(sp)
sltu v0,v1,v0
bne v0,zero,0x002b77f8
_lw t9,-0x76cc(gp)
lw v0,0x4c(sp)
addiu v0,v0,0x1
sw v0,0x4c(sp)
sw v0,0x38(sp)
or a1,s1,zero
jalr t9
_or a0,s6,zero
beq v0,zero,0x002b783c
_lw gp,0x28(sp)
lw v1,0x3364(s6)
beq v1,zero,0x002b78e4
_lw v0,0x1c(s6)
lw a0,0x44(sp)
addiu v1,a0,0x1
sltu a0,v1,a0
sw v1,0x44(sp)
slt v0,v1,v0
lw v1,0x40(sp)
addu v1,a0,v1
bne v0,zero,0x002b6ec4
_sw v1,0x40(sp)
lw t9,-0x7168(gp)
jalr t9
_or a0,s6,zero
bne v0,zero,0x002b79e4
_lw gp,0x28(sp)
lw t9,-0x7228(gp)
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
lw t9,-0x7464(gp)
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
b 0x002b6964
_or s6,v0,zero
li v0,0x9
bne a2,v0,0x002b6bac
_lbu v0,0x72(sp)
sltiu v1,v0,0x9
bne v1,zero,0x002b6b0c
_sltiu v0,v0,0x11
beq v0,zero,0x002b78cc
_li v0,0x5
sw v0,0x20(s6)
li v0,0x9
beq a2,v0,0x002b6b18
_li v0,0x2
li v0,-0x9
li v1,0x3
and v0,a2,v0
beq v0,v1,0x002b70d0
_li v0,0x10
b 0x002b6be4
_sw v0,0x8(s6)
b 0x002b72dc
_mtc1 zero,f24
li v0,0x8
b 0x002b789c
_sw v0,0x20(s6)
addiu v0,v0,0x2
b 0x002b77d4
_sw v0,0x38(sp)
lw a1,-0x7fc8(gp)
or a0,s6,zero
lw t9,-0x7bfc(gp)
lw a2,0x40(sp)
lw a3,0x44(sp)
addiu a1,a1,-0x2dd0
sw v0,0x14(sp)
jalr t9
_sw zero,0x10(sp)
beq v0,zero,0x002b783c
_lw gp,0x28(sp)
b 0x002b7818
_lw v0,0x1c(s6)
addiu s0,s0,0x2210
li a3,0x1bd
lw v0,-0x7fd0(gp)
or a0,s1,zero
lw a2,-0x7f64(gp)
lw a1,-0x7f64(gp)
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x3768
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x3720
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x18cc
sw v0,0x14(sp)
b 0x002b725c
_li v0,0x1a9
addiu s0,s0,0x2210
b 0x002b7920
_li a3,0x1ce
addiu s0,s0,0x2210
b 0x002b7920
_li a3,0x20b
addiu s0,s0,0x2210
b 0x002b7920
_li a3,0x1e8
addiu s0,s0,0x2210
b 0x002b7920
_li a3,0x1ff
addiu s0,s0,0x2210
b 0x002b7224
_li a3,0x130
sltu a1,v1,s3
beq a1,zero,0x002b7200
_lw v0,-0x7fd0(gp)
addiu s0,s0,0x2210
lw a2,-0x7f64(gp)
li a3,0x11a
lw a1,-0x7f64(gp)
or a0,s1,zero
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x3768
sw s0,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x3720
lw v0,-0x7fc4(gp)
addiu v0,v0,0x4a0
sw v0,0x14(sp)
b 0x002b725c
_li v0,0x1a9
lw t9,-0x6f00(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
addiu v1,s6,0x340
lw gp,0x28(sp)
or s0,v0,zero
sw v0,0x20(sp)
li a3,0x233
sw v1,0x1c(sp)
or a0,s1,zero
lw v0,-0x7fd0(gp)
lw a2,-0x7f64(gp)
lw a1,-0x7f64(gp)
addiu v0,v0,0xe78
lw t9,-0x7990(gp)
addiu a2,a2,0x3768
sw v0,0x18(sp)
addiu a1,a1,0x3720
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x17c
sw v0,0x14(sp)
li v0,0x1a9
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s0,zero
b 0x002b7850
_lw gp,0x28(sp)
addiu s0,s0,0x2210
b 0x002b7224
_li a3,0x15a
lw a3,-0x7f64(gp)
li a2,0xc5
lw a1,-0x7f64(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x3778
addiu a1,a1,0x3720
jalr t9
_addiu a0,a0,0x294c
lw a3,-0x7f64(gp)
li a2,0xc0
lw a1,-0x7f64(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x3778
addiu a1,a1,0x3720
jalr t9
_addiu a0,a0,0xda0
lw a3,-0x7f64(gp)
li a2,0xbf
lw a1,-0x7f64(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x3778
addiu a1,a1,0x3720
jalr t9
_addiu a0,a0,0xd78
lw a3,-0x7f64(gp)
li a2,0xc4
lw a1,-0x7f64(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x3778
addiu a1,a1,0x3720
jalr t9
_addiu a0,a0,0x1cac
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x002b78a8) */\n/* WARNING: Removing unreachable block (ram,0x002b78bc) */\n\nfloat * FUN_002b67b0(int param_1,float *param_2)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}\n\n" comment comment (function_definition "float * FUN_002b67b0(int param_1,float *param_2)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}" primitive_type (pointer_declarator "* FUN_002b67b0(int param_1,float *param_2)" * (function_declarator "FUN_002b67b0(int param_1,float *param_2)" identifier (parameter_list "(int param_1,float *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "float *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "float *pfVar5;" primitive_type (pointer_declarator "*pfVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "float fVar8;" primitive_type identifier ;) (declaration "float **ppfVar9;" primitive_type (pointer_declarator "**ppfVar9" * (pointer_declarator "*ppfVar9" * identifier)) ;) (declaration "float **ppfVar10;" primitive_type (pointer_declarator "**ppfVar10" * (pointer_declarator "*ppfVar10" * identifier)) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "float *pfVar12;" primitive_type (pointer_declarator "*pfVar12" * identifier) ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "uint extraout_v1_00;" type_identifier identifier ;) (declaration "uint extraout_v1_01;" type_identifier identifier ;) (declaration "uint extraout_v1_02;" type_identifier identifier ;) (declaration "uint extraout_v1_03;" type_identifier identifier ;) (declaration "uint extraout_v1_04;" type_identifier identifier ;) (declaration "uint extraout_v1_05;" type_identifier identifier ;) (declaration "uint extraout_v1_06;" type_identifier identifier ;) (declaration "uint extraout_v1_07;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "uint extraout_v1_08;" type_identifier identifier ;) (declaration "byte extraout_v1_10;" type_identifier identifier ;) (declaration "uint extraout_v1_09;" type_identifier identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "float *pfVar27;" primitive_type (pointer_declarator "*pfVar27" * identifier) ;) (declaration "float fVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "float *pfVar31;" primitive_type (pointer_declarator "*pfVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "undefined4 uVar33;" type_identifier identifier ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "byte bVar36;" type_identifier identifier ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "float fVar38;" primitive_type identifier ;) (declaration "float fVar39;" primitive_type identifier ;) (declaration "undefined4 *puVar40;" type_identifier (pointer_declarator "*puVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "int iVar42;" primitive_type identifier ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "byte *pbVar46;" type_identifier (pointer_declarator "*pbVar46" * identifier) ;) (declaration "float *pfVar47;" primitive_type (pointer_declarator "*pfVar47" * identifier) ;) (declaration "int iVar48;" primitive_type identifier ;) (declaration "int iVar49;" primitive_type identifier ;) (declaration "float fVar50;" primitive_type identifier ;) (declaration "int iVar51;" primitive_type identifier ;) (declaration "undefined *puVar52;" type_identifier (pointer_declarator "*puVar52" * identifier) ;) (declaration "code *pcVar53;" type_identifier (pointer_declarator "*pcVar53" * identifier) ;) (declaration "double dVar54;" primitive_type identifier ;) (declaration "float fVar56;" primitive_type identifier ;) (declaration "double dVar55;" primitive_type identifier ;) (declaration "double dVar57;" primitive_type identifier ;) (declaration "double dVar58;" primitive_type identifier ;) (declaration "float fVar59;" primitive_type identifier ;) (declaration "double dVar60;" primitive_type identifier ;) (declaration "double dVar61;" primitive_type identifier ;) (declaration "double dVar62;" primitive_type identifier ;) (declaration "double dVar63;" primitive_type identifier ;) (declaration "ulonglong uVar64;" type_identifier identifier ;) (declaration "double dVar65;" primitive_type identifier ;) (declaration "double dVar66;" primitive_type identifier ;) (declaration "double dVar67;" primitive_type identifier ;) (declaration "double dVar68;" primitive_type identifier ;) (declaration "double dVar69;" primitive_type identifier ;) (declaration "undefined8 uVar70;" type_identifier identifier ;) (declaration "float fStack_1ec;" primitive_type identifier ;) (declaration "uint uStack_1c8;" type_identifier identifier ;) (declaration "float fStack_1a0;" primitive_type identifier ;) (declaration "float *local_f8;" primitive_type (pointer_declarator "*local_f8" * identifier) ;) (declaration "float *local_f0;" primitive_type (pointer_declarator "*local_f0" * identifier) ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "float *local_e4;" primitive_type (pointer_declarator "*local_e4" * identifier) ;) (declaration "char local_c9;" primitive_type identifier ;) (declaration "float *local_c8;" primitive_type (pointer_declarator "*local_c8" * identifier) ;) (declaration "byte local_c4;" type_identifier identifier ;) (declaration "char local_c3;" primitive_type identifier ;) (declaration "ushort local_c2;" type_identifier identifier ;) (declaration "ushort local_c0;" type_identifier identifier ;) (declaration "byte local_be;" type_identifier identifier ;) (declaration "undefined2 local_bc;" type_identifier identifier ;) (declaration "undefined2 local_ba;" type_identifier identifier ;) (declaration "ushort local_b8;" type_identifier identifier ;) (declaration "ushort local_b6;" type_identifier identifier ;) (declaration "byte local_b4;" type_identifier identifier ;) (declaration "byte local_b3;" type_identifier identifier ;) (declaration "float *local_b0 [10];" primitive_type (pointer_declarator "*local_b0 [10]" * (array_declarator "local_b0 [10]" identifier [ number_literal ])) ;) (declaration "double local_88;" primitive_type identifier ;) (declaration "double local_80;" primitive_type identifier ;) (declaration "double local_78;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "float *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "byte local_58;" type_identifier identifier ;) (declaration "byte local_57;" type_identifier identifier ;) (declaration "byte local_56;" type_identifier identifier ;) (declaration "byte local_55;" type_identifier identifier ;) (declaration "float *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (expression_statement "puVar52 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar52 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_54 = *(float **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(float **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(float **)PTR___stack_chk_guard_003a9230" * (cast_expression "(float **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\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    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3210) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3210) != 0" (pointer_expression "*(int *)(param_1 + 0x3210)" * (cast_expression "(int *)(param_1 + 0x3210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3210)" ( (binary_expression "param_1 + 0x3210" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" ( number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" if (parenthesized_expression "(param_2 == (float *)0x0)" ( (binary_expression "param_2 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" if (parenthesized_expression "(param_2[7] != -1.2269538e-12)" ( (binary_expression "param_2[7] != -1.2269538e-12" (subscript_expression "param_2[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (expression_statement "pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);" (assignment_expression "pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" identifier = (cast_expression "(float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" ( (pointer_expression "*(code *)PTR_AcquireImage_003a960c" * (cast_expression "(code *)PTR_AcquireImage_003a960c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "pfVar31 = (float *)0x2;" (assignment_expression "pfVar31 = (float *)0x2" identifier = (cast_expression "(float *)0x2" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar27 = pfVar5;" (assignment_expression "pfVar27 = pfVar5" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" ( (pointer_expression "*(code *)PTR_OpenBlob_003a924c" * (cast_expression "(code *)PTR_OpenBlob_003a924c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,pfVar5,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }" { (expression_statement "pfVar47 = (float *)0x0;" (assignment_expression "pfVar47 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))) ;) (goto_statement "goto LAB_002b6964;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);" (assignment_expression "iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,1,&local_c4)" ( identifier , number_literal , (pointer_expression "&local_c4" & identifier) )))) ;) (expression_statement "local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) (if_statement "if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) (compound_statement "{\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }" { (if_statement "if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" if (parenthesized_expression "((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3)" ( (binary_expression "(undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3" (cast_expression "(undefined1 *)((int)local_c8 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + -1)" ( (binary_expression "(int)local_c8 + -1" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }" { (if_statement "if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }" if (parenthesized_expression "(local_c8 == (float *)0x1)" ( (binary_expression "local_c8 == (float *)0x1" identifier == (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }" { (labeled_statement "LAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;" statement_identifier : (if_statement "if (local_c3 == '\0') goto LAB_002b68ec;" if (parenthesized_expression "(local_c3 == '\0')" ( (binary_expression "local_c3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002b68ec;" goto statement_identifier ;))) })) }) (else_clause "else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" else (compound_statement "{\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" { (if_statement "if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;" if (parenthesized_expression "(local_c8 == (float *)&DAT_00000009)" ( (binary_expression "local_c8 == (float *)&DAT_00000009" identifier == (cast_expression "(float *)&DAT_00000009" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) )) (goto_statement "goto LAB_002b69c0;" goto statement_identifier ;)) (if_statement "if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;" if (parenthesized_expression "((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10))" ( (binary_expression "(undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)" (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)local_c8 + -10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + -10)" ( (binary_expression "(int)local_c8 + -10" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_002b68ec;" goto statement_identifier ;)) }))) (expression_statement "local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" { (expression_statement "uVar33 = 0xe8;" (assignment_expression "uVar33 = 0xe8" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier + number_literal)) ;) (goto_statement "goto LAB_002b6920;" goto statement_identifier ;) })) (expression_statement "pfVar27 = (float *)(uint)local_b4;" (assignment_expression "pfVar27 = (float *)(uint)local_b4" identifier = (cast_expression "(float *)(uint)local_b4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }" if (parenthesized_expression "((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)))" ( (binary_expression "(0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < ((uint)((int)pfVar27 + -2) & 0xff))" ( (binary_expression "0x1e < ((uint)((int)pfVar27 + -2) & 0xff)" number_literal < (parenthesized_expression "((uint)((int)pfVar27 + -2) & 0xff)" ( (binary_expression "(uint)((int)pfVar27 + -2) & 0xff" (call_expression "(uint)((int)pfVar27 + -2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pfVar27 + -2)" ( (binary_expression "(int)pfVar27 + -2" (cast_expression "(int)pfVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) & number_literal) ))) )) || (parenthesized_expression "(-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" ( (binary_expression "(0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f" (parenthesized_expression "(0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f))" ( (binary_expression "0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)" number_literal >> (parenthesized_expression "((uint)((int)pfVar27 + -2) & 0x1f)" ( (binary_expression "(uint)((int)pfVar27 + -2) & 0x1f" (call_expression "(uint)((int)pfVar27 + -2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pfVar27 + -2)" ( (binary_expression "(int)pfVar27 + -2" (cast_expression "(int)pfVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }" { (expression_statement "uVar33 = 0xeb;" (assignment_expression "uVar33 = 0xeb" identifier = number_literal) ;) (goto_statement "goto LAB_002b68f4;" goto statement_identifier ;) })) (expression_statement "pfVar5[6] = (float)(uint)local_b8;" (assignment_expression "pfVar5[6] = (float)(uint)local_b8" (subscript_expression "pfVar5[6]" identifier [ number_literal ]) = (cast_expression "(float)(uint)local_b8" ( (type_descriptor "float" primitive_type) ) (cast_expression "(uint)local_b8" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar5[7] = (float)(uint)local_b6;" (assignment_expression "pfVar5[7] = (float)(uint)local_b6" (subscript_expression "pfVar5[7]" identifier [ number_literal ]) = (cast_expression "(float)(uint)local_b6" ( (type_descriptor "float" primitive_type) ) (cast_expression "(uint)local_b6" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" if (parenthesized_expression "((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb))" ( (binary_expression "(local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)" (parenthesized_expression "(local_c8 == (float *)0x3)" ( (binary_expression "local_c8 == (float *)0x3" identifier == (cast_expression "(float *)0x3" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_c8 == (float *)0xb)" ( (binary_expression "local_c8 == (float *)0xb" identifier == (cast_expression "(float *)0xb" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }" { (labeled_statement "LAB_002b6bac:\n      fVar8 = 7.00649e-45;" statement_identifier : (expression_statement "fVar8 = 7.00649e-45;" (assignment_expression "fVar8 = 7.00649e-45" identifier = number_literal) ;)) (if_statement "if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }" if (parenthesized_expression "((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9))" ( (binary_expression "(undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)" (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)pfVar27 + -9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27 + -9)" ( (binary_expression "(int)pfVar27 + -9" (cast_expression "(int)pfVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (compound_statement "{\n        fVar8 = 1.12104e-44;\n      }" { (expression_statement "fVar8 = 1.12104e-44;" (assignment_expression "fVar8 = 1.12104e-44" identifier = number_literal) ;) })) (expression_statement "pfVar5[8] = fVar8;" (assignment_expression "pfVar5[8] = fVar8" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" else (compound_statement "{\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" { (if_statement "if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }" if (parenthesized_expression "(((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20))" ( (binary_expression "((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)" (parenthesized_expression "((local_b3 & 0xf) == 0)" ( (binary_expression "(local_b3 & 0xf) == 0" (parenthesized_expression "(local_b3 & 0xf)" ( (binary_expression "local_b3 & 0xf" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pfVar27 != (float *)0x20)" ( (binary_expression "pfVar27 != (float *)0x20" identifier != (cast_expression "(float *)0x20" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }" { (expression_statement "fVar8 = 5.60519e-45;" (assignment_expression "fVar8 = 5.60519e-45" identifier = number_literal) ;) (if_statement "if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }" if (parenthesized_expression "(local_be != 0x20)" ( (binary_expression "local_be != 0x20" identifier != number_literal) )) (compound_statement "{\n          fVar8 = 0.0;\n        }" { (expression_statement "fVar8 = 0.0;" (assignment_expression "fVar8 = 0.0" identifier = number_literal) ;) })) }) (else_clause "else {\n        fVar8 = 5.60519e-45;\n      }" else (compound_statement "{\n        fVar8 = 5.60519e-45;\n      }" { (expression_statement "fVar8 = 5.60519e-45;" (assignment_expression "fVar8 = 5.60519e-45" identifier = number_literal) ;) }))) (expression_statement "pfVar5[0xaf] = fVar8;" (assignment_expression "pfVar5[0xaf] = fVar8" (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" if (parenthesized_expression "(local_c8 == (float *)0x1)" ( (binary_expression "local_c8 == (float *)0x1" identifier == (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }" { (if_statement "if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }" if (parenthesized_expression "((8 < local_be) && (local_be < 0x11))" ( (binary_expression "(8 < local_be) && (local_be < 0x11)" (parenthesized_expression "(8 < local_be)" ( (binary_expression "8 < local_be" number_literal < identifier) )) && (parenthesized_expression "(local_be < 0x11)" ( (binary_expression "local_be < 0x11" identifier < number_literal) ))) )) (compound_statement "{\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }" { (expression_statement "pfVar5[8] = 7.00649e-45;" (assignment_expression "pfVar5[8] = 7.00649e-45" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*pfVar5 = 2.8026e-45;" (assignment_expression "*pfVar5 = 2.8026e-45" (pointer_expression "*pfVar5" * identifier) = number_literal) ;) (goto_statement "goto LAB_002b6bc4;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;" statement_identifier : (expression_statement "pfVar5[8] = 1.12104e-44;" (assignment_expression "pfVar5[8] = 1.12104e-44" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;)) }) (else_clause "else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" else (compound_statement "{\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" { (if_statement "if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;" if (parenthesized_expression "(local_c8 != (float *)&DAT_00000009)" ( (binary_expression "local_c8 != (float *)&DAT_00000009" identifier != (cast_expression "(float *)&DAT_00000009" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) )) (goto_statement "goto LAB_002b6bac;" goto statement_identifier ;)) (if_statement "if (local_be < 9) goto LAB_002b6b10;" if (parenthesized_expression "(local_be < 9)" ( (binary_expression "local_be < 9" identifier < number_literal) )) (goto_statement "goto LAB_002b6b10;" goto statement_identifier ;)) (if_statement "if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }" if (parenthesized_expression "(local_be < 0x11)" ( (binary_expression "local_be < 0x11" identifier < number_literal) )) (compound_statement "{\n          pfVar5[8] = 7.00649e-45;\n        }" { (expression_statement "pfVar5[8] = 7.00649e-45;" (assignment_expression "pfVar5[8] = 7.00649e-45" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pfVar5[8] = 1.12104e-44;\n        }" else (compound_statement "{\n          pfVar5[8] = 1.12104e-44;\n        }" { (expression_statement "pfVar5[8] = 1.12104e-44;" (assignment_expression "pfVar5[8] = 1.12104e-44" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;) }))) }))) (expression_statement "*pfVar5 = 2.8026e-45;" (assignment_expression "*pfVar5 = 2.8026e-45" (pointer_expression "*pfVar5" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" statement_identifier : (if_statement "if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" if (parenthesized_expression "(((uint)local_c8 & 0xfffffff7) == 3)" ( (binary_expression "((uint)local_c8 & 0xfffffff7) == 3" (parenthesized_expression "((uint)local_c8 & 0xfffffff7)" ( (binary_expression "(uint)local_c8 & 0xfffffff7" (cast_expression "(uint)local_c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }" { (expression_statement "pfVar5[0xa8] = 2.8026e-45;" (assignment_expression "pfVar5[0xa8] = 2.8026e-45" (subscript_expression "pfVar5[0xa8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pfVar5[2] = 2.24208e-44;" (assignment_expression "pfVar5[2] = 2.24208e-44" (subscript_expression "pfVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pfVar5[1] = 4.2039e-45;" (assignment_expression "pfVar5[1] = 4.2039e-45" (subscript_expression "pfVar5[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;" if (parenthesized_expression "(((uint)local_c8 & 0xfffffffd) != 9)" ( (binary_expression "((uint)local_c8 & 0xfffffffd) != 9" (parenthesized_expression "((uint)local_c8 & 0xfffffffd)" ( (binary_expression "(uint)local_c8 & 0xfffffffd" (cast_expression "(uint)local_c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002b6be8;" goto statement_identifier ;)) (labeled_statement "LAB_002b7100:\n      pfVar5[2] = 2.66247e-44;" statement_identifier : (expression_statement "pfVar5[2] = 2.66247e-44;" (assignment_expression "pfVar5[2] = 2.66247e-44" (subscript_expression "pfVar5[2]" identifier [ number_literal ]) = number_literal) ;)) }) (else_clause "else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" else (compound_statement "{\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" { (expression_statement "pfVar5[2] = 2.24208e-44;" (assignment_expression "pfVar5[2] = 2.24208e-44" (subscript_expression "pfVar5[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;" if (parenthesized_expression "(local_c8 == (float *)&DAT_00000009)" ( (binary_expression "local_c8 == (float *)&DAT_00000009" identifier == (cast_expression "(float *)&DAT_00000009" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) )) (goto_statement "goto LAB_002b7100;" goto statement_identifier ;)) (labeled_statement "LAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;" statement_identifier : (if_statement "if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;" if (parenthesized_expression "(local_c8 == (float *)&DAT_0000000a)" ( (binary_expression "local_c8 == (float *)&DAT_0000000a" identifier == (cast_expression "(float *)&DAT_0000000a" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000a" & identifier))) )) (goto_statement "goto LAB_002b7100;" goto statement_identifier ;))) })))) (expression_statement "puVar7 = PTR_GetBlobSize_003a94b8;" (assignment_expression "puVar7 = PTR_GetBlobSize_003a94b8" identifier = identifier) ;) (expression_statement "pfVar31 = local_c8;" (assignment_expression "pfVar31 = local_c8" identifier = identifier) ;) (if_statement "if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }" if (parenthesized_expression "(*pfVar5 == 2.8026e-45)" ( (binary_expression "*pfVar5 == 2.8026e-45" (pointer_expression "*pfVar5" * identifier) == number_literal) )) (compound_statement "{\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }" { (if_statement "if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }" if (parenthesized_expression "(local_c3 != '\0')" ( (binary_expression "local_c3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }" { (expression_statement "pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);" (assignment_expression "pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0)" (subscript_expression "pfVar5[9]" identifier [ number_literal ]) = (cast_expression "(float)((uint)local_c2 + (uint)local_c0)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uint)local_c2 + (uint)local_c0)" ( (binary_expression "(uint)local_c2 + (uint)local_c0" (cast_expression "(uint)local_c2" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_c0" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (goto_statement "goto LAB_002b6c00;" goto statement_identifier ;) })) (expression_statement "fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));" (assignment_expression "fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f))" identifier = (cast_expression "(float)(1 << ((uint)pfVar27 & 0x1f))" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(1 << ((uint)pfVar27 & 0x1f))" ( (binary_expression "1 << ((uint)pfVar27 & 0x1f)" number_literal << (parenthesized_expression "((uint)pfVar27 & 0x1f)" ( (binary_expression "(uint)pfVar27 & 0x1f" (cast_expression "(uint)pfVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )))) ;) (expression_statement "pfVar5[9] = fVar8;" (assignment_expression "pfVar5[9] = fVar8" (subscript_expression "pfVar5[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar70 = (*(code *)puVar7)(pfVar5);" (assignment_expression "uVar70 = (*(code *)puVar7)(pfVar5)" identifier = (call_expression "(*(code *)puVar7)(pfVar5)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70))" ( (binary_expression "((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)" (parenthesized_expression "((int)((ulonglong)uVar70 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar70 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar70 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar70 >> 0x20)" ( (binary_expression "(ulonglong)uVar70 >> 0x20" (cast_expression "(ulonglong)uVar70" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "((uint)fVar8 <= (uint)(float)uVar70)" ( (binary_expression "(uint)fVar8 <= (uint)(float)uVar70" (cast_expression "(uint)fVar8" ( (type_descriptor "uint" type_identifier) ) identifier) <= (cast_expression "(uint)(float)uVar70" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)uVar70" ( (type_descriptor "float" primitive_type) ) identifier))) ))) )) (compound_statement "{\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }" { (expression_statement "pfVar27 = (float *)pfVar5[9];" (assignment_expression "pfVar27 = (float *)pfVar5[9]" identifier = (cast_expression "(float *)pfVar5[9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) ;) (expression_statement "pfVar31 = param_2;" (assignment_expression "pfVar31 = param_2" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5)" identifier = (call_expression "(*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5)" (parenthesized_expression "(*(code *)PTR_AcquireImageColormap_003a9194)" ( (pointer_expression "*(code *)PTR_AcquireImageColormap_003a9194" * (cast_expression "(code *)PTR_AcquireImageColormap_003a9194" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_002b6c00;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002b6c00;" goto statement_identifier ;)) (expression_statement "uVar33 = 0x11c;" (assignment_expression "uVar33 = 0x11c" identifier = number_literal) ;) (goto_statement "goto LAB_002b7224;" goto statement_identifier ;) })) (expression_statement "uVar33 = 0x11a;" (assignment_expression "uVar33 = 0x11a" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_s_courses_003a88ec + 0x4a0;" (assignment_expression "puVar14 = PTR_s_courses_003a88ec + 0x4a0" identifier = (binary_expression "PTR_s_courses_003a88ec + 0x4a0" identifier + number_literal)) ;) (expression_statement "uVar15 = 0x1a9;" (assignment_expression "uVar15 = 0x1a9" identifier = number_literal) ;) (labeled_statement "LAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);" statement_identifier : (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_002b6944;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;" statement_identifier : (expression_statement "pfVar47 = (float *)(uint)local_c4;" (assignment_expression "pfVar47 = (float *)(uint)local_c4" identifier = (cast_expression "(float *)(uint)local_c4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_c4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (if_statement "if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }" if (parenthesized_expression "(pfVar47 != (float *)0x0)" ( (binary_expression "pfVar47 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }" { (expression_statement "pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);" (assignment_expression "pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" identifier = (cast_expression "(float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" ( (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" * (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar47 + 0x400,1)" ( (binary_expression "pfVar47 + 0x400" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }" if (parenthesized_expression "(pfVar12 != (float *)0x0)" ( (binary_expression "pfVar12 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }" { (expression_statement "pfVar27 = pfVar47;" (assignment_expression "pfVar27 = pfVar47" identifier = identifier) ;) (expression_statement "pfVar31 = pfVar12;" (assignment_expression "pfVar31 = pfVar12" identifier = identifier) ;) (expression_statement "pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);" (assignment_expression "pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) (expression_statement "puVar7 = PTR_SetImageProperty_003a9534;" (assignment_expression "puVar7 = PTR_SetImageProperty_003a9534" identifier = identifier) ;) (if_statement "if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }" if (parenthesized_expression "(pfVar47 == pfVar13)" ( (binary_expression "pfVar47 == pfVar13" identifier == identifier) )) (compound_statement "{\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }" { (expression_statement "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" identifier = (cast_expression "(float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;" (assignment_expression "*(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0" (pointer_expression "*(undefined1 *)((int)pfVar12 + (int)pfVar47)" * (cast_expression "(undefined1 *)((int)pfVar12 + (int)pfVar47)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar12 + (int)pfVar47)" ( (binary_expression "(int)pfVar12 + (int)pfVar47" (cast_expression "(int)pfVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pfVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "pfVar31 = pfVar12;" (assignment_expression "pfVar31 = pfVar12" identifier = identifier) ;) (expression_statement "(*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);" (call_expression "(*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,pfVar27,pfVar12,param_2)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(pfVar12);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(pfVar12)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar12)" ( identifier ))) ;) (goto_statement "goto LAB_002b6c0c;" goto statement_identifier ;) })) (expression_statement "uVar33 = 0x130;" (assignment_expression "uVar33 = 0x130" identifier = number_literal) ;) (labeled_statement "LAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;" statement_identifier : (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;)) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_LAB_003a88e0 + 0x16f8;" (assignment_expression "puVar14 = PTR_LAB_003a88e0 + 0x16f8" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal)) ;) (expression_statement "uVar15 = 400;" (assignment_expression "uVar15 = 400" identifier = number_literal) ;) (goto_statement "goto LAB_002b725c;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;" statement_identifier : (expression_statement "pfVar5[4] = 5.60519e-45;" (assignment_expression "pfVar5[4] = 5.60519e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;)) (if_statement "if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" if (parenthesized_expression "((local_b3 & 0x10) == 0)" ( (binary_expression "(local_b3 & 0x10) == 0" (parenthesized_expression "(local_b3 & 0x10)" ( (binary_expression "local_b3 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }" { (if_statement "if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }" if (parenthesized_expression "((local_b3 & 0x20) != 0)" ( (binary_expression "(local_b3 & 0x20) != 0" (parenthesized_expression "(local_b3 & 0x20)" ( (binary_expression "local_b3 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        pfVar5[4] = 1.4013e-45;\n      }" { (expression_statement "pfVar5[4] = 1.4013e-45;" (assignment_expression "pfVar5[4] = 1.4013e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" else (if_statement "if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" if (parenthesized_expression "((local_b3 & 0x20) == 0)" ( (binary_expression "(local_b3 & 0x20) == 0" (parenthesized_expression "(local_b3 & 0x20)" ( (binary_expression "local_b3 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      pfVar5[4] = 4.2039e-45;\n    }" { (expression_statement "pfVar5[4] = 4.2039e-45;" (assignment_expression "pfVar5[4] = 4.2039e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      pfVar5[4] = 2.8026e-45;\n    }" else (compound_statement "{\n      pfVar5[4] = 2.8026e-45;\n    }" { (expression_statement "pfVar5[4] = 2.8026e-45;" (assignment_expression "pfVar5[4] = 2.8026e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;) }))))) (if_statement "if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1dc) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1dc) == 0" (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }" { (expression_statement "pfVar31 = (float *)pfVar5[7];" (assignment_expression "pfVar31 = (float *)pfVar5[7]" identifier = (cast_expression "(float *)pfVar5[7]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[7]" identifier [ number_literal ]))) ;) (expression_statement "pfVar27 = (float *)pfVar5[6];" (assignment_expression "pfVar27 = (float *)pfVar5[6]" identifier = (cast_expression "(float *)pfVar5[6]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[6]" identifier [ number_literal ]))) ;) (expression_statement "iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2)" identifier = (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" ( (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" * (cast_expression "(code *)PTR_SetImageExtent_003a94ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,pfVar27,pfVar31,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "puVar7 = PTR_LAB_003a88e0;" (assignment_expression "puVar7 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }" { (expression_statement "pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (assignment_expression "pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) }) (else_clause "else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" else (compound_statement "{\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" { (expression_statement "pfVar31 = (float *)0x58;" (assignment_expression "pfVar31 = (float *)0x58" identifier = (cast_expression "(float *)0x58" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar27 = (float *)0x0;" (assignment_expression "pfVar27 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(local_b0);" (call_expression "(*(code *)PTR_memset_003a96d4)(local_b0)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_b0)" ( identifier ))) ;) (expression_statement "puVar14 = PTR_AcquireImageColormap_003a9194;" (assignment_expression "puVar14 = PTR_AcquireImageColormap_003a9194" identifier = identifier) ;) (expression_statement "local_68 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "local_68 = *(double *)(puVar7 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar7 + 0x1a58)" * (cast_expression "(double *)(puVar7 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1a58)" ( (binary_expression "puVar7 + 0x1a58" identifier + number_literal) ))))) ;) (if_statement "if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }" if (parenthesized_expression "(local_c3 != '\0')" ( (binary_expression "local_c3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }" { (expression_statement "pfVar31 = (float *)(uint)local_c2;" (assignment_expression "pfVar31 = (float *)(uint)local_c2" identifier = (cast_expression "(float *)(uint)local_c2" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_c2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar27 = (float *)pfVar5[9];" (assignment_expression "pfVar27 = (float *)pfVar5[9]" identifier = (cast_expression "(float *)pfVar5[9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) ;) (if_statement "if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }" if (parenthesized_expression "((float *)pfVar5[9] < pfVar31)" ( (binary_expression "(float *)pfVar5[9] < pfVar31" (cast_expression "(float *)pfVar5[9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }" { (expression_statement "pfVar5[9] = (float)pfVar31;" (assignment_expression "pfVar5[9] = (float)pfVar31" (subscript_expression "pfVar5[9]" identifier [ number_literal ]) = (cast_expression "(float)pfVar31" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) })) (expression_statement "pfVar31 = param_2;" (assignment_expression "pfVar31 = param_2" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)puVar14)(pfVar5);" (assignment_expression "iVar6 = (*(code *)puVar14)(pfVar5)" identifier = (call_expression "(*(code *)puVar14)(pfVar5)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }" { (expression_statement "uVar33 = 0x15a;" (assignment_expression "uVar33 = 0x15a" identifier = number_literal) ;) (goto_statement "goto LAB_002b7224;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_c2;" (assignment_expression "uVar17 = (uint)local_c2" identifier = (cast_expression "(uint)local_c2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }" { (expression_statement "puVar25 = (undefined4 *)pfVar5[10];" (assignment_expression "puVar25 = (undefined4 *)pfVar5[10]" identifier = (cast_expression "(undefined4 *)pfVar5[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[10]" identifier [ number_literal ]))) ;) (expression_statement "puVar40 = puVar25 + uVar17 * 0x16;" (assignment_expression "puVar40 = puVar25 + uVar17 * 0x16" identifier = (binary_expression "puVar25 + uVar17 * 0x16" identifier + (binary_expression "uVar17 * 0x16" identifier * number_literal))) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (expression_statement "puVar16 = puVar25;" (assignment_expression "puVar16 = puVar25" identifier = identifier) ;) (do_statement "do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);" do (compound_statement "{\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            }" { (do_statement "do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);" do (compound_statement "{\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              }" { (expression_statement "puVar22 = puVar16;" (assignment_expression "puVar22 = puVar16" identifier = identifier) ;) (expression_statement "ppfVar10 = ppfVar9 + 4;" (assignment_expression "ppfVar10 = ppfVar9 + 4" identifier = (binary_expression "ppfVar9 + 4" identifier + number_literal)) ;) (expression_statement "pfVar47 = ppfVar9[1];" (assignment_expression "pfVar47 = ppfVar9[1]" identifier = (subscript_expression "ppfVar9[1]" identifier [ number_literal ])) ;) (expression_statement "pfVar31 = ppfVar9[2];" (assignment_expression "pfVar31 = ppfVar9[2]" identifier = (subscript_expression "ppfVar9[2]" identifier [ number_literal ])) ;) (expression_statement "pfVar27 = ppfVar9[3];" (assignment_expression "pfVar27 = ppfVar9[3]" identifier = (subscript_expression "ppfVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar22 = *ppfVar9;" (assignment_expression "*puVar22 = *ppfVar9" (pointer_expression "*puVar22" * identifier) = (pointer_expression "*ppfVar9" * identifier)) ;) (expression_statement "puVar22[1] = pfVar47;" (assignment_expression "puVar22[1] = pfVar47" (subscript_expression "puVar22[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[2] = pfVar31;" (assignment_expression "puVar22[2] = pfVar31" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[3] = pfVar27;" (assignment_expression "puVar22[3] = pfVar27" (subscript_expression "puVar22[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar9 = ppfVar10;" (assignment_expression "ppfVar9 = ppfVar10" identifier = identifier) ;) (expression_statement "puVar16 = puVar22 + 4;" (assignment_expression "puVar16 = puVar22 + 4" identifier = (binary_expression "puVar22 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppfVar10 != &local_60)" ( (binary_expression "ppfVar10 != &local_60" identifier != (pointer_expression "&local_60" & identifier)) )) ;) (expression_statement "puVar25 = puVar25 + 0x16;" (assignment_expression "puVar25 = puVar25 + 0x16" identifier = (binary_expression "puVar25 + 0x16" identifier + number_literal)) ;) (expression_statement "puVar22[4] = local_60;" (assignment_expression "puVar22[4] = local_60" (subscript_expression "puVar22[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[5] = local_5c;" (assignment_expression "puVar22[5] = local_5c" (subscript_expression "puVar22[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (expression_statement "puVar16 = puVar25;" (assignment_expression "puVar16 = puVar25" identifier = identifier) ;) (expression_statement "pfVar27 = local_60;" (assignment_expression "pfVar27 = local_60" identifier = identifier) ;) }) while (parenthesized_expression "(puVar40 != puVar25)" ( (binary_expression "puVar40 != puVar25" identifier != identifier) )) ;) })) (if_statement "if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }" if (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" ( (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) (compound_statement "{\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }" { (expression_statement "iVar6 = uVar17 * 0x58;" (assignment_expression "iVar6 = uVar17 * 0x58" identifier = (binary_expression "uVar17 * 0x58" identifier * number_literal)) ;) (expression_statement "dVar65 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "dVar65 = *(double *)(puVar7 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar7 + 0x1a58)" * (cast_expression "(double *)(puVar7 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1a58)" ( (binary_expression "puVar7 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" identifier = (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" * (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "dVar67 = dVar60;" (assignment_expression "dVar67 = dVar60" identifier = identifier) ;) (expression_statement "dVar69 = dVar60;" (assignment_expression "dVar69 = dVar60" identifier = identifier) ;) (do_statement "do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);" do (compound_statement "{\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            }" { (expression_statement "uVar26 = (uint)local_be;" (assignment_expression "uVar26 = (uint)local_be" identifier = (cast_expression "(uint)local_be" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" if (parenthesized_expression "(uVar26 == 0x18)" ( (binary_expression "uVar26 == 0x18" identifier == number_literal) )) (compound_statement "{\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }" { (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_78 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_78 = (double)(float)((double)bVar36 * dVar60)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar60)" ( (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_80 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_80 = (double)(float)((double)bVar36 * dVar60)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar60)" ( (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar60)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar60)" ( (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) }) (else_clause "else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" else (if_statement "if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" if (parenthesized_expression "(uVar26 < 0x19)" ( (binary_expression "uVar26 < 0x19" identifier < number_literal) )) (compound_statement "{\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }" { (if_statement "if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" if (parenthesized_expression "(uVar26 - 0xf < 2)" ( (binary_expression "uVar26 - 0xf < 2" (binary_expression "uVar26 - 0xf" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }" { (expression_statement "uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);" (assignment_expression "local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" identifier = (cast_expression "(double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" ( (binary_expression "(double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65" (binary_expression "(double)((uVar18 << 0x19) >> 0x1b) * dVar62" (cast_expression "(double)((uVar18 << 0x19) >> 0x1b)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar18 << 0x19) >> 0x1b)" ( (binary_expression "(uVar18 << 0x19) >> 0x1b" (parenthesized_expression "(uVar18 << 0x19)" ( (binary_expression "uVar18 << 0x19" identifier << number_literal) )) >> number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);" (assignment_expression "local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" identifier = (cast_expression "(double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(uVar26 & 0x1f) * dVar62 * dVar65)" ( (binary_expression "(double)(uVar26 & 0x1f) * dVar62 * dVar65" (binary_expression "(double)(uVar26 & 0x1f) * dVar62" (cast_expression "(double)(uVar26 & 0x1f)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);" (assignment_expression "local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" identifier = (cast_expression "(double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" ( (binary_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65" (binary_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62" (cast_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5))" ( (binary_expression "(uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)" (binary_expression "(uVar18 & 3) * 8" (parenthesized_expression "(uVar18 & 3)" ( (binary_expression "uVar18 & 3" identifier & number_literal) )) * number_literal) + (parenthesized_expression "((uVar26 & 0xff) >> 5)" ( (binary_expression "(uVar26 & 0xff) >> 5" (parenthesized_expression "(uVar26 & 0xff)" ( (binary_expression "uVar26 & 0xff" identifier & number_literal) )) >> number_literal) ))) ))) * identifier) * identifier) ))))) ;) }) (else_clause "else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" else (compound_statement "{\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" { (labeled_statement "LAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" statement_identifier : (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;)) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar69);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar69)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar69)" ( (binary_expression "(double)bVar36 * dVar69" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_80 = local_88;" (assignment_expression "local_80 = local_88" identifier = identifier) ;) (expression_statement "local_78 = local_88;" (assignment_expression "local_78 = local_88" identifier = identifier) ;) }))) }) (else_clause "else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" else (compound_statement "{\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" { (if_statement "if (uVar26 != 0x20) goto LAB_002b7684;" if (parenthesized_expression "(uVar26 != 0x20)" ( (binary_expression "uVar26 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_002b7684;" goto statement_identifier ;)) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_78 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_78 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_80 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_80 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_68 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_68 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) }))))) (expression_statement "puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);" (assignment_expression "puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6)" identifier = (cast_expression "(undefined4 *)((int)pfVar5[10] + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar5[10] + iVar6)" ( (binary_expression "(int)pfVar5[10] + iVar6" (cast_expression "(int)pfVar5[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[10]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (do_statement "do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);" do (compound_statement "{\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              }" { (expression_statement "puVar25 = puVar16;" (assignment_expression "puVar25 = puVar16" identifier = identifier) ;) (expression_statement "ppfVar10 = ppfVar9 + 4;" (assignment_expression "ppfVar10 = ppfVar9 + 4" identifier = (binary_expression "ppfVar9 + 4" identifier + number_literal)) ;) (expression_statement "pfVar31 = ppfVar9[1];" (assignment_expression "pfVar31 = ppfVar9[1]" identifier = (subscript_expression "ppfVar9[1]" identifier [ number_literal ])) ;) (expression_statement "pfVar27 = ppfVar9[2];" (assignment_expression "pfVar27 = ppfVar9[2]" identifier = (subscript_expression "ppfVar9[2]" identifier [ number_literal ])) ;) (expression_statement "pfVar47 = ppfVar9[3];" (assignment_expression "pfVar47 = ppfVar9[3]" identifier = (subscript_expression "ppfVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar25 = *ppfVar9;" (assignment_expression "*puVar25 = *ppfVar9" (pointer_expression "*puVar25" * identifier) = (pointer_expression "*ppfVar9" * identifier)) ;) (expression_statement "puVar25[1] = pfVar31;" (assignment_expression "puVar25[1] = pfVar31" (subscript_expression "puVar25[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[2] = pfVar27;" (assignment_expression "puVar25[2] = pfVar27" (subscript_expression "puVar25[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[3] = pfVar47;" (assignment_expression "puVar25[3] = pfVar47" (subscript_expression "puVar25[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar16 = puVar25 + 4;" (assignment_expression "puVar16 = puVar25 + 4" identifier = (binary_expression "puVar25 + 4" identifier + number_literal)) ;) (expression_statement "ppfVar9 = ppfVar10;" (assignment_expression "ppfVar9 = ppfVar10" identifier = identifier) ;) }) while (parenthesized_expression "(ppfVar10 != &local_60)" ( (binary_expression "ppfVar10 != &local_60" identifier != (pointer_expression "&local_60" & identifier)) )) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar25[4] = local_60;" (assignment_expression "puVar25[4] = local_60" (subscript_expression "puVar25[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[5] = local_5c;" (assignment_expression "puVar25[5] = local_5c" (subscript_expression "puVar25[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar6 = iVar6 + 0x58;" (assignment_expression "iVar6 = iVar6 + 0x58" identifier = (binary_expression "iVar6 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" ( (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) ;) })) })) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" identifier = identifier) ;) (expression_statement "local_c9 = '\0';" (assignment_expression "local_c9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }" if (parenthesized_expression "(0 < (int)pfVar5[7])" ( (binary_expression "0 < (int)pfVar5[7]" number_literal < (cast_expression "(int)pfVar5[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[7]" identifier [ number_literal ]))) )) (compound_statement "{\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }" { (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_f0 = (float *)0x0;" (assignment_expression "local_f0 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "local_f8 = (float *)0x0;" (assignment_expression "local_f8 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e4 = (float *)0x0;" (assignment_expression "local_e4 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" identifier = (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" * (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (do_statement "do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);" do (compound_statement "{\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          }" { (expression_statement "pfVar27 = (float *)0x0;" (assignment_expression "pfVar27 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar31 = local_f8;" (assignment_expression "pfVar31 = local_f8" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2)" identifier = (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" ( (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" * (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,0,local_f8,pfVar5[6],1,param_2)" ( identifier , number_literal , identifier , (subscript_expression "pfVar5[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (if_statement "if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }" if (parenthesized_expression "(0 < (int)fVar8)" ( (binary_expression "0 < (int)fVar8" number_literal < (cast_expression "(int)fVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }" { (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (expression_statement "dVar60 = *(double *)(puVar14 + -0x5af0);" (assignment_expression "dVar60 = *(double *)(puVar14 + -0x5af0)" identifier = (pointer_expression "*(double *)(puVar14 + -0x5af0)" * (cast_expression "(double *)(puVar14 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x5af0)" ( (binary_expression "puVar14 + -0x5af0" identifier + number_literal) ))))) ;) (do_statement "do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);" do (compound_statement "{\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              }" { (expression_statement "cVar4 = local_c9;" (assignment_expression "cVar4 = local_c9" identifier = identifier) ;) (if_statement "if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }" if (parenthesized_expression "(((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0'))" ( (binary_expression "((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')" (parenthesized_expression "((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3)" ( (binary_expression "(undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3" (cast_expression "(undefined1 *)((int)local_c8 + -9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + -9)" ( (binary_expression "(int)local_c8 + -9" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')" ( (comma_expression "cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0'" (assignment_expression "cVar4 = local_c9 + -1" identifier = (binary_expression "local_c9 + -1" identifier + number_literal)) , (comma_expression "bVar1 = bVar2, local_c9 == '\0'" (assignment_expression "bVar1 = bVar2" identifier = identifier) , (binary_expression "local_c9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }" { (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,1,&local_c9)" ( identifier , number_literal , (pointer_expression "&local_c9" & identifier) )))) ;) (if_statement "if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" if (parenthesized_expression "(iVar23 == 1)" ( (binary_expression "iVar23 == 1" identifier == number_literal) )) (compound_statement "{\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" { (if_statement "if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }" if (parenthesized_expression "(local_c9 < '\0')" ( (binary_expression "local_c9 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "local_c9 = local_c9 + -0x80;" (assignment_expression "local_c9 = local_c9 + -0x80" identifier = (binary_expression "local_c9 + -0x80" identifier + number_literal)) ;) }) (else_clause "else {\n                      bVar2 = false;\n                    }" else (compound_statement "{\n                      bVar2 = false;\n                    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }))) (goto_statement "goto LAB_002b6fd4;" goto statement_identifier ;) })) (expression_statement "uVar33 = 0x1bd;" (assignment_expression "uVar33 = 0x1bd" identifier = number_literal) ;) (labeled_statement "LAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;" statement_identifier : (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;)) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier + number_literal)) ;) (expression_statement "uVar15 = 0x1a9;" (assignment_expression "uVar15 = 0x1a9" identifier = number_literal) ;) (goto_statement "goto LAB_002b725c;" goto statement_identifier ;) })) (expression_statement "local_c9 = cVar4;" (assignment_expression "local_c9 = cVar4" identifier = identifier) ;) (if_statement "if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }" { (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (labeled_statement "LAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];" statement_identifier : (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" identifier = (subscript_expression "pfVar5[0xb4]" identifier [ number_literal ])) ;)) (if_statement "if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }" if (parenthesized_expression "(fVar38 == 2.8026e-45)" ( (binary_expression "fVar38 == 2.8026e-45" identifier == number_literal) )) (compound_statement "{\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }" { (labeled_statement "LAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" statement_identifier : (if_statement "if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" if (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) != 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x40) != 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" * (cast_expression "(int *)((int)fVar50 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x40)" ( (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" { (expression_statement "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;" (assignment_expression "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64" (pointer_expression "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" * (cast_expression "(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x44) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" * (cast_expression "(int *)((int)fVar50 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x44)" ( (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (cast_expression "(int)uVar64" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) })) }) (else_clause "else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" else (compound_statement "{\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" { (labeled_statement "LAB_002b6fd4:\n                  uVar17 = (uint)local_b4;" statement_identifier : (expression_statement "uVar17 = (uint)local_b4;" (assignment_expression "uVar17 = (uint)local_b4" identifier = (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }" if (parenthesized_expression "(uVar17 == 0x18)" ( (binary_expression "uVar17 == 0x18" identifier == number_literal) )) (compound_statement "{\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }" { (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,3,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" if (parenthesized_expression "(iVar23 != 3)" ( (binary_expression "iVar23 != 3" identifier != number_literal) )) (compound_statement "{\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" { (expression_statement "uVar33 = 0x1ff;" (assignment_expression "uVar33 = 0x1ff" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "local_78 = (double)(float)((double)local_58 * dVar69);" (assignment_expression "local_78 = (double)(float)((double)local_58 * dVar69)" identifier = (cast_expression "(double)(float)((double)local_58 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_58 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_58 * dVar69)" ( (binary_expression "(double)local_58 * dVar69" (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_80 = (double)(float)((double)local_57 * dVar69);" (assignment_expression "local_80 = (double)(float)((double)local_57 * dVar69)" identifier = (cast_expression "(double)(float)((double)local_57 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_57 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_57 * dVar69)" ( (binary_expression "(double)local_57 * dVar69" (cast_expression "(double)local_57" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_88 = (double)(float)((double)local_56 * dVar69);" (assignment_expression "local_88 = (double)(float)((double)local_56 * dVar69)" identifier = (cast_expression "(double)(float)((double)local_56 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_56 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_56 * dVar69)" ( (binary_expression "(double)local_56 * dVar69" (cast_expression "(double)local_56" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (if_statement "if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }" if (parenthesized_expression "(0x18 < uVar17)" ( (binary_expression "0x18 < uVar17" number_literal < identifier) )) (compound_statement "{\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }" { (if_statement "if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }" if (parenthesized_expression "(uVar17 == 0x20)" ( (binary_expression "uVar17 == 0x20" identifier == number_literal) )) (compound_statement "{\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }" { (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,4,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }" if (parenthesized_expression "(iVar23 != 4)" ( (binary_expression "iVar23 != 4" identifier != number_literal) )) (compound_statement "{\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }" { (expression_statement "uVar33 = 0x20b;" (assignment_expression "uVar33 = 0x20b" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "dVar62 = *(double *)(puVar14 + -0x5af0);" (assignment_expression "dVar62 = *(double *)(puVar14 + -0x5af0)" identifier = (pointer_expression "*(double *)(puVar14 + -0x5af0)" * (cast_expression "(double *)(puVar14 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x5af0)" ( (binary_expression "puVar14 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "local_78 = (double)(float)((double)local_58 * dVar62);" (assignment_expression "local_78 = (double)(float)((double)local_58 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_58 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_58 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_58 * dVar62)" ( (binary_expression "(double)local_58 * dVar62" (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_80 = (double)(float)((double)local_57 * dVar62);" (assignment_expression "local_80 = (double)(float)((double)local_57 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_57 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_57 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_57 * dVar62)" ( (binary_expression "(double)local_57 * dVar62" (cast_expression "(double)local_57" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_88 = (double)(float)((double)local_56 * dVar62);" (assignment_expression "local_88 = (double)(float)((double)local_56 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_56 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_56 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_56 * dVar62)" ( (binary_expression "(double)local_56 * dVar62" (cast_expression "(double)local_56" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_68 = (double)(float)((double)local_55 * dVar62);" (assignment_expression "local_68 = (double)(float)((double)local_55 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_55 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_55 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_55 * dVar62)" ( (binary_expression "(double)local_55 * dVar62" (cast_expression "(double)local_55" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (labeled_statement "LAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);" statement_identifier : (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,1,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;)) (if_statement "if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" if (parenthesized_expression "(iVar23 != 1)" ( (binary_expression "iVar23 != 1" identifier != number_literal) )) (compound_statement "{\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" { (expression_statement "uVar33 = 0x1ce;" (assignment_expression "uVar33 = 0x1ce" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_58;" (assignment_expression "uVar17 = (uint)local_58" identifier = (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar64 = (ulonglong)(uint)(float)uVar17;" (assignment_expression "uVar64 = (ulonglong)(uint)(float)uVar17" identifier = (cast_expression "(ulonglong)(uint)(float)uVar17" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)(float)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)uVar17" ( (type_descriptor "float" primitive_type) ) identifier)))) ;) (if_statement "if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" if (parenthesized_expression "(local_c3 == '\0')" ( (binary_expression "local_c3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }" { (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "local_88 = (double)(float)((double)uVar17 * dVar60);" (assignment_expression "local_88 = (double)(float)((double)uVar17 * dVar60)" identifier = (cast_expression "(double)(float)((double)uVar17 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)uVar17 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)uVar17 * dVar60)" ( (binary_expression "(double)uVar17 * dVar60" (cast_expression "(double)uVar17" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "dVar62 = local_88;" (assignment_expression "dVar62 = local_88" identifier = identifier) ;) (expression_statement "dVar65 = local_88;" (assignment_expression "dVar65 = local_88" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (expression_statement "local_80 = local_88;" (assignment_expression "local_80 = local_88" identifier = identifier) ;) (expression_statement "local_78 = local_88;" (assignment_expression "local_78 = local_88" identifier = identifier) ;) }) (else_clause "else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" else (compound_statement "{\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" { (expression_statement "puVar16 = (undefined4 *)pfVar5[10];" (assignment_expression "puVar16 = (undefined4 *)pfVar5[10]" identifier = (cast_expression "(undefined4 *)pfVar5[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[10]" identifier [ number_literal ]))) ;) (if_statement "if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" if (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" ( (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }" { (expression_statement "puVar16 = puVar16 + uVar17 * 0x16;" (assignment_expression "puVar16 = puVar16 + uVar17 * 0x16" identifier = (binary_expression "puVar16 + uVar17 * 0x16" identifier + (binary_expression "uVar17 * 0x16" identifier * number_literal))) ;) }) (else_clause "else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" else (if_statement "if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" if (parenthesized_expression "(*param_2 != 5.95552e-43)" ( (binary_expression "*param_2 != 5.95552e-43" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" { (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + 0x6f4" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" identifier + number_literal) , number_literal , number_literal , (binary_expression "puVar3 + -0x5990" identifier + number_literal) , identifier , (binary_expression "pfVar5 + 0xd0" identifier + number_literal) ))) ;) })))) (expression_statement "puVar25 = puVar16;" (assignment_expression "puVar25 = puVar16" identifier = identifier) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (do_statement "do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);" do (compound_statement "{\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      }" { (expression_statement "ppfVar10 = ppfVar9;" (assignment_expression "ppfVar10 = ppfVar9" identifier = identifier) ;) (expression_statement "puVar40 = puVar25;" (assignment_expression "puVar40 = puVar25" identifier = identifier) ;) (expression_statement "puVar25 = puVar40 + 4;" (assignment_expression "puVar25 = puVar40 + 4" identifier = (binary_expression "puVar40 + 4" identifier + number_literal)) ;) (expression_statement "pfVar47 = (float *)puVar40[1];" (assignment_expression "pfVar47 = (float *)puVar40[1]" identifier = (cast_expression "(float *)puVar40[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar31 = (float *)puVar40[2];" (assignment_expression "pfVar31 = (float *)puVar40[2]" identifier = (cast_expression "(float *)puVar40[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[2]" identifier [ number_literal ]))) ;) (expression_statement "pfVar27 = (float *)puVar40[3];" (assignment_expression "pfVar27 = (float *)puVar40[3]" identifier = (cast_expression "(float *)puVar40[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar10 = (float *)*puVar40;" (assignment_expression "*ppfVar10 = (float *)*puVar40" (pointer_expression "*ppfVar10" * identifier) = (cast_expression "(float *)*puVar40" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar40" * identifier))) ;) (expression_statement "ppfVar10[1] = pfVar47;" (assignment_expression "ppfVar10[1] = pfVar47" (subscript_expression "ppfVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar10[2] = pfVar31;" (assignment_expression "ppfVar10[2] = pfVar31" (subscript_expression "ppfVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar10[3] = pfVar27;" (assignment_expression "ppfVar10[3] = pfVar27" (subscript_expression "ppfVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar9 = ppfVar10 + 4;" (assignment_expression "ppfVar9 = ppfVar10 + 4" identifier = (binary_expression "ppfVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar25 != puVar16 + 0x14)" ( (binary_expression "puVar25 != puVar16 + 0x14" identifier != (binary_expression "puVar16 + 0x14" identifier + number_literal)) )) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pfVar27 = (float *)puVar40[5];" (assignment_expression "pfVar27 = (float *)puVar40[5]" identifier = (cast_expression "(float *)puVar40[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar10[4] = (float *)*puVar25;" (assignment_expression "ppfVar10[4] = (float *)*puVar25" (subscript_expression "ppfVar10[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar25" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (expression_statement "ppfVar10[5] = pfVar27;" (assignment_expression "ppfVar10[5] = pfVar27" (subscript_expression "ppfVar10[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) }))) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (if_statement "if (1 < uVar17 - 0xf) goto LAB_002b747c;" if (parenthesized_expression "(1 < uVar17 - 0xf)" ( (binary_expression "1 < uVar17 - 0xf" number_literal < (binary_expression "uVar17 - 0xf" identifier - number_literal)) )) (goto_statement "goto LAB_002b747c;" goto statement_identifier ;)) (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,2,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" if (parenthesized_expression "(iVar23 != 2)" ( (binary_expression "iVar23 != 2" identifier != number_literal) )) (compound_statement "{\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" { (expression_statement "uVar33 = 0x1e8;" (assignment_expression "uVar33 = 0x1e8" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_57;" (assignment_expression "uVar17 = (uint)local_57" identifier = (cast_expression "(uint)local_57" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dVar54 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "dVar54 = *(double *)(puVar7 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar7 + 0x1a58)" * (cast_expression "(double *)(puVar7 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1a58)" ( (binary_expression "puVar7 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);" (assignment_expression "dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" identifier = (cast_expression "(double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" ( (binary_expression "(double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54" (binary_expression "(double)((uVar17 << 0x19) >> 0x1b) * dVar67" (cast_expression "(double)((uVar17 << 0x19) >> 0x1b)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar17 << 0x19) >> 0x1b)" ( (binary_expression "(uVar17 << 0x19) >> 0x1b" (parenthesized_expression "(uVar17 << 0x19)" ( (binary_expression "uVar17 << 0x19" identifier << number_literal) )) >> number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);" (assignment_expression "dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" identifier = (cast_expression "(double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" ( (binary_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54" (binary_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67" (cast_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar17 & 3) * 8 + (uint)(local_58 >> 5))" ( (binary_expression "(uVar17 & 3) * 8 + (uint)(local_58 >> 5)" (binary_expression "(uVar17 & 3) * 8" (parenthesized_expression "(uVar17 & 3)" ( (binary_expression "uVar17 & 3" identifier & number_literal) )) * number_literal) + (call_expression "(uint)(local_58 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_58 >> 5)" ( (binary_expression "local_58 >> 5" identifier >> number_literal) )))) ))) * identifier) * identifier) ))))) ;) (expression_statement "dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);" (assignment_expression "dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" identifier = (cast_expression "(double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(local_58 & 0x1f) * dVar67 * dVar54)" ( (binary_expression "(double)(local_58 & 0x1f) * dVar67 * dVar54" (binary_expression "(double)(local_58 & 0x1f) * dVar67" (cast_expression "(double)(local_58 & 0x1f)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(local_58 & 0x1f)" ( (binary_expression "local_58 & 0x1f" identifier & number_literal) ))) * identifier) * identifier) ))))) ;) (if_statement "if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }" if (parenthesized_expression "((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57))" ( (binary_expression "(fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)" (parenthesized_expression "(fVar39 != 0.0)" ( (binary_expression "fVar39 != 0.0" identifier != number_literal) )) && (parenthesized_expression "(local_68 = dVar54, -1 < (char)local_57)" ( (comma_expression "local_68 = dVar54, -1 < (char)local_57" (assignment_expression "local_68 = dVar54" identifier = identifier) , (binary_expression "-1 < (char)local_57" number_literal < (cast_expression "(char)local_57" ( (type_descriptor "char" primitive_type) ) identifier))) ))) )) (compound_statement "{\n                    local_68 = 0.0;\n                  }" { (expression_statement "local_68 = 0.0;" (assignment_expression "local_68 = 0.0" identifier = number_literal) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "local_88 = dVar66;" (assignment_expression "local_88 = dVar66" identifier = identifier) ;) (expression_statement "local_80 = dVar65;" (assignment_expression "local_80 = dVar65" identifier = identifier) ;) (expression_statement "local_78 = dVar62;" (assignment_expression "local_78 = dVar62" identifier = identifier) ;) (if_statement "if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }" if (parenthesized_expression "(*pfVar5 == 2.8026e-45)" ( (binary_expression "*pfVar5 == 2.8026e-45" (pointer_expression "*pfVar5" * identifier) == number_literal) )) (compound_statement "{\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }" { (expression_statement "iVar23 = uVar17 * 0x100 + (uint)local_58;" (assignment_expression "iVar23 = uVar17 * 0x100 + (uint)local_58" identifier = (binary_expression "uVar17 * 0x100 + (uint)local_58" (binary_expression "uVar17 * 0x100" identifier * number_literal) + (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" if (parenthesized_expression "(iVar23 < (int)pfVar5[9])" ( (binary_expression "iVar23 < (int)pfVar5[9]" identifier < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }" { (expression_statement "uVar64 = (ulonglong)(uint)(float)iVar23;" (assignment_expression "uVar64 = (ulonglong)(uint)(float)iVar23" identifier = (cast_expression "(ulonglong)(uint)(float)iVar23" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)(float)iVar23" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)iVar23" ( (type_descriptor "float" primitive_type) ) identifier)))) ;) }) (else_clause "else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" else (compound_statement "{\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" { (if_statement "if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }" if (parenthesized_expression "(*param_2 != 5.95552e-43)" ( (binary_expression "*param_2 != 5.95552e-43" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }" { (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + 0x6f4" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" identifier + number_literal) , number_literal , number_literal , (binary_expression "puVar3 + -0x5990" identifier + number_literal) , identifier , (binary_expression "pfVar5 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) }))) (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" identifier = (subscript_expression "pfVar5[0xb4]" identifier [ number_literal ])) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_002b72e8;" goto statement_identifier ;) })) (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" identifier = (subscript_expression "pfVar5[0xb4]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar23 = *(int *)((int)fVar50 + 0x20);" (assignment_expression "iVar23 = *(int *)((int)fVar50 + 0x20)" identifier = (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;" (assignment_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66" (pointer_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar66" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar31 = (float)dVar65;" (assignment_expression "*pfVar31 = (float)dVar65" (pointer_expression "*pfVar31" * identifier) = (cast_expression "(float)dVar65" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar6 + iVar23 * 4) = (float)dVar62;" (assignment_expression "*(float *)(iVar6 + iVar23 * 4) = (float)dVar62" (pointer_expression "*(float *)(iVar6 + iVar23 * 4)" * (cast_expression "(float *)(iVar6 + iVar23 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar23 * 4)" ( (binary_expression "iVar6 + iVar23 * 4" identifier + (binary_expression "iVar23 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar62" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }" if (parenthesized_expression "((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0))" ( (binary_expression "(fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)" (parenthesized_expression "(fVar39 != 0.0)" ( (binary_expression "fVar39 != 0.0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) != 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x34) != 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }" { (expression_statement "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;" (assignment_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68" (pointer_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_68" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;" (assignment_expression "iVar6 = iVar6 + (int)pfVar5[0xb0] * 4" identifier = (binary_expression "iVar6 + (int)pfVar5[0xb0] * 4" identifier + (binary_expression "(int)pfVar5[0xb0] * 4" (cast_expression "(int)pfVar5[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[0xb0]" identifier [ number_literal ])) * number_literal))) ;) }) while (parenthesized_expression "(iVar37 < (int)fVar8)" ( (binary_expression "iVar37 < (int)fVar8" identifier < (cast_expression "(int)fVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" if (parenthesized_expression "(local_b3 >> 6 == 2)" ( (binary_expression "local_b3 >> 6 == 2" (binary_expression "local_b3 >> 6" identifier >> number_literal) == number_literal) )) (compound_statement "{\n              local_f8 = (float *)((int)local_f8 + 2);\n            }" { (expression_statement "local_f8 = (float *)((int)local_f8 + 2);" (assignment_expression "local_f8 = (float *)((int)local_f8 + 2)" identifier = (cast_expression "(float *)((int)local_f8 + 2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + 2)" ( (binary_expression "(int)local_f8 + 2" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" else (compound_statement "{\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" { (expression_statement "local_f8 = (float *)((int)local_f8 + 1);" (assignment_expression "local_f8 = (float *)((int)local_f8 + 1)" identifier = (cast_expression "(float *)((int)local_f8 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + 1)" ( (binary_expression "(int)local_f8 + 1" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (if_statement "if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }" if (parenthesized_expression "((float *)pfVar5[7] <= local_f8)" ( (binary_expression "(float *)pfVar5[7] <= local_f8" (cast_expression "(float *)pfVar5[7]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[7]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }" { (expression_statement "local_f8 = (float *)((int)local_e4 + 1);" (assignment_expression "local_f8 = (float *)((int)local_e4 + 1)" identifier = (cast_expression "(float *)((int)local_e4 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_e4 + 1)" ( (binary_expression "(int)local_e4 + 1" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_e4 = local_f8;" (assignment_expression "local_e4 = local_f8" identifier = identifier) ;) })) (expression_statement "pfVar27 = param_2;" (assignment_expression "pfVar27 = param_2" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5)" identifier = (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" ( (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" * (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar8 = pfVar5[7];" (assignment_expression "fVar8 = pfVar5[7]" identifier = (subscript_expression "pfVar5[7]" identifier [ number_literal ])) ;) (if_statement "if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }" if (parenthesized_expression "(pfVar5[0xcd9] == 0.0)" ( (binary_expression "pfVar5[0xcd9] == 0.0" (subscript_expression "pfVar5[0xcd9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }" { (expression_statement "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);" (assignment_expression "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" identifier = (cast_expression "(float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier + number_literal) )))) ;) (expression_statement "pfVar31 = local_f0;" (assignment_expression "pfVar31 = local_f0" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);" (assignment_expression "iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" (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 "(pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar8 = pfVar5[7];" (assignment_expression "fVar8 = pfVar5[7]" identifier = (subscript_expression "pfVar5[7]" identifier [ number_literal ])) ;) })) (expression_statement "uVar17 = local_ec + 1;" (assignment_expression "uVar17 = local_ec + 1" identifier = (binary_expression "local_ec + 1" identifier + number_literal)) ;) (expression_statement "local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);" (assignment_expression "local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0)" identifier = (cast_expression "(float *)((uint)(uVar17 < local_ec) + (int)local_f0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(uVar17 < local_ec) + (int)local_f0)" ( (binary_expression "(uint)(uVar17 < local_ec) + (int)local_f0" (call_expression "(uint)(uVar17 < local_ec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < local_ec)" ( (binary_expression "uVar17 < local_ec" identifier < identifier) ))) + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_ec = uVar17;" (assignment_expression "local_ec = uVar17" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar17 < (int)fVar8)" ( (binary_expression "(int)uVar17 < (int)fVar8" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)fVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }" { (expression_statement "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);" (assignment_expression "uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar16)" ( (pointer_expression "*puVar16" * identifier) )))) ;) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33)" ( identifier , identifier , identifier , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "pfVar5 + 0xd0" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar33);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar33)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar33)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" ( identifier ))) ;) (expression_statement "pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);" (assignment_expression "pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) }))) }) (else_clause "else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" else (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" ( identifier ))) ;) (expression_statement "pfVar47 = pfVar5;" (assignment_expression "pfVar47 = pfVar5" identifier = identifier) ;) }))) }) (else_clause "else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" else (compound_statement "{\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" { (labeled_statement "LAB_002b68ec:\n    uVar33 = 0xdd;" statement_identifier : (expression_statement "uVar33 = 0xdd;" (assignment_expression "uVar33 = 0xdd" identifier = number_literal) ;)) (labeled_statement "LAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;" statement_identifier : (expression_statement "puVar7 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar7 = PTR_s_courses_003a88ec + -400" identifier = (binary_expression "PTR_s_courses_003a88ec + -400" identifier + number_literal)) ;)) (labeled_statement "LAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" statement_identifier : (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;)) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210)" ( identifier , identifier , identifier , identifier , number_literal , identifier , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) (if_statement "if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }" if (parenthesized_expression "(pfVar5 != (float *)0x0)" ( (binary_expression "pfVar5 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }" { (labeled_statement "LAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);" statement_identifier : (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))) ;) })) (expression_statement "pfVar47 = (float *)0x0;" (assignment_expression "pfVar47 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }" statement_identifier : (if_statement "if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }" if (parenthesized_expression "(local_54 == *(float **)puVar52)" ( (binary_expression "local_54 == *(float **)puVar52" identifier == (pointer_expression "*(float **)puVar52" * (cast_expression "(float **)puVar52" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return pfVar47;\n  }" { (return_statement "return pfVar47;" return identifier ;) }))) (expression_statement "pfVar5 = local_54;" (assignment_expression "pfVar5 = local_54" identifier = identifier) ;) (expression_statement "puVar52 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar52 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar5 == (float *)0x0)" ( (binary_expression "pfVar5 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xd78" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (expression_statement "iVar6 = *(int *)(puVar52 + 0xf0e38);" (assignment_expression "iVar6 = *(int *)(puVar52 + 0xf0e38)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) ))))) ;) (if_statement "if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar5[0xc85] != -1.2269538e-12)" ( (binary_expression "pfVar5[0xc85] != -1.2269538e-12" (subscript_expression "pfVar5[0xc85]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xda0" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar27 == (float *)0x0)" ( (binary_expression "pfVar27 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xdd0" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar27[0xcdb] != -1.2269538e-12)" ( (binary_expression "pfVar27[0xcdb] != -1.2269538e-12" (subscript_expression "pfVar27[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x3784" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }" if (parenthesized_expression "(pfVar27[0xcd4] != 0.0)" ( (binary_expression "pfVar27[0xcd4] != 0.0" (subscript_expression "pfVar27[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }" { (expression_statement "(**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf16cc))" ( (pointer_expression "**(code **)(puVar52 + 0xf16cc)" * (pointer_expression "*(code **)(puVar52 + 0xf16cc)" * (cast_expression "(code **)(puVar52 + 0xf16cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf16cc)" ( (binary_expression "puVar52 + 0xf16cc" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0)" ( number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x62ac" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar31 == (float *)0x0)" ( (binary_expression "pfVar31 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1cac" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar31[7] != -1.2269538e-12)" ( (binary_expression "pfVar31[7] != -1.2269538e-12" (subscript_expression "pfVar31[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x294c" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (expression_statement "iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);" (assignment_expression "iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1738))" ( (pointer_expression "**(code **)(puVar52 + 0xf1738)" * (pointer_expression "*(code **)(puVar52 + 0xf1738)" * (cast_expression "(code **)(puVar52 + 0xf1738)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1738)" ( (binary_expression "puVar52 + 0xf1738" identifier + number_literal) ))))) )) (argument_list "(pfVar5,pfVar27,4,pfVar31)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n    return (float *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    return (float *)0x0;\n  }" { (return_statement "return (float *)0x0;" return (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" if (parenthesized_expression "((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7]))" ( (binary_expression "(0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])" (parenthesized_expression "(0xffff < (uint)pfVar27[6])" ( (binary_expression "0xffff < (uint)pfVar27[6]" number_literal < (cast_expression "(uint)pfVar27[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[6]" identifier [ number_literal ]))) )) || (parenthesized_expression "(0xffff < (uint)pfVar27[7])" ( (binary_expression "0xffff < (uint)pfVar27[7]" number_literal < (cast_expression "(uint)pfVar27[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" { (expression_statement "(**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" ( (pointer_expression "**(code **)(puVar52 + 0xf140c)" * (pointer_expression "*(code **)(puVar52 + 0xf140c)" * (cast_expression "(code **)(puVar52 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf140c)" ( (binary_expression "puVar52 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" identifier = identifier) ;) (if_statement "if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" if (parenthesized_expression "(pfVar5[3] == 0.0)" ( (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }" { (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" else (compound_statement "{\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" { (do_statement "do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);" do (compound_statement "{\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      }" { (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" identifier = (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" ( (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ])) != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (goto_statement "goto LAB_002b7c64;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);" (call_expression "(**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf166c))" ( (pointer_expression "**(code **)(puVar52 + 0xf166c)" * (pointer_expression "*(code **)(puVar52 + 0xf166c)" * (cast_expression "(code **)(puVar52 + 0xf166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf166c)" ( (binary_expression "puVar52 + 0xf166c" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0x17,pfVar31)" ( identifier , number_literal , identifier ))) ;) (expression_statement "fVar8 = *pfVar5;" (assignment_expression "fVar8 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (if_statement "if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }" if (parenthesized_expression "(*pfVar5 == 0.0)" ( (binary_expression "*pfVar5 == 0.0" (pointer_expression "*pfVar5" * identifier) == number_literal) )) (compound_statement "{\n    fVar8 = pfVar27[2];\n  }" { (expression_statement "fVar8 = pfVar27[2];" (assignment_expression "fVar8 = pfVar27[2]" identifier = (subscript_expression "pfVar27[2]" identifier [ number_literal ])) ;) })) (expression_statement "iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);" (assignment_expression "iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf18e8))" ( (pointer_expression "**(code **)(puVar52 + 0xf18e8)" * (pointer_expression "*(code **)(puVar52 + 0xf18e8)" * (cast_expression "(code **)(puVar52 + 0xf18e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf18e8)" ( (binary_expression "puVar52 + 0xf18e8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x1928" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar17 = 0;\n  }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" else (compound_statement "{\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" { (expression_statement "uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);" (assignment_expression "uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1824))(iVar6)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1824))" ( (pointer_expression "**(code **)(puVar52 + 0xf1824)" * (pointer_expression "*(code **)(puVar52 + 0xf1824)" * (cast_expression "(code **)(puVar52 + 0xf1824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1824)" ( (binary_expression "puVar52 + 0xf1824" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }" if (parenthesized_expression "(uVar17 < 0xff)" ( (binary_expression "uVar17 < 0xff" identifier < number_literal) )) (compound_statement "{\n      uVar17 = uVar17 & 0xff;\n    }" { (expression_statement "uVar17 = uVar17 & 0xff;" (assignment_expression "uVar17 = uVar17 & 0xff" identifier = (binary_expression "uVar17 & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\n      uVar17 = 0xff;\n    }" else (compound_statement "{\n      uVar17 = 0xff;\n    }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (expression_statement "fVar38 = pfVar27[7];" (assignment_expression "fVar38 = pfVar27[7]" identifier = (subscript_expression "pfVar27[7]" identifier [ number_literal ])) ;) (expression_statement "fVar39 = fVar50;" (assignment_expression "fVar39 = fVar50" identifier = identifier) ;) (if_statement "if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" if (parenthesized_expression "((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0))" ( (binary_expression "(((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)" (parenthesized_expression "(((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45))" ( (binary_expression "((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)" (parenthesized_expression "((int)pfVar5[0x76] - 6U < 2)" ( (binary_expression "(int)pfVar5[0x76] - 6U < 2" (binary_expression "(int)pfVar5[0x76] - 6U" (cast_expression "(int)pfVar5[0x76]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[0x76]" identifier [ number_literal ])) - number_literal) < number_literal) )) || (parenthesized_expression "(pfVar5[0x76] == 5.60519e-45)" ( (binary_expression "pfVar5[0x76] == 5.60519e-45" (subscript_expression "pfVar5[0x76]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }" { (labeled_statement "LAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" statement_identifier : (if_statement "if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" if (parenthesized_expression "(*pfVar27 != 1.4013e-45)" ( (binary_expression "*pfVar27 != 1.4013e-45" (pointer_expression "*pfVar27" * identifier) != number_literal) )) (compound_statement "{\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" { (expression_statement "uVar26 = 9;" (assignment_expression "uVar26 = 9" identifier = number_literal) ;) (if_statement "if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" if (parenthesized_expression "((uint)pfVar27[9] < 0x101)" ( (binary_expression "(uint)pfVar27[9] < 0x101" (cast_expression "(uint)pfVar27[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[9]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 8;" (assignment_expression "uVar33 = 8" identifier = number_literal) ;) (if_statement "if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }" if (parenthesized_expression "(fVar8 != 2.66247e-44)" ( (binary_expression "fVar8 != 2.66247e-44" identifier != number_literal) )) (compound_statement "{\n          uVar26 = 1;\n        }" { (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) })) (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" identifier = number_literal) ;) (expression_statement "iVar37 = 1;" (assignment_expression "iVar37 = 1" identifier = number_literal) ;) (expression_statement "uVar34 = (uint)pfVar27[9] & 0xffff;" (assignment_expression "uVar34 = (uint)pfVar27[9] & 0xffff" identifier = (binary_expression "(uint)pfVar27[9] & 0xffff" (cast_expression "(uint)pfVar27[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[9]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }" if (parenthesized_expression "(pfVar5[0xc] != 7.00649e-45)" ( (binary_expression "pfVar5[0xc] != 7.00649e-45" (subscript_expression "pfVar5[0xc]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          uVar18 = 0x18;\n        }" { (expression_statement "uVar18 = 0x18;" (assignment_expression "uVar18 = 0x18" identifier = number_literal) ;) })) (goto_statement "goto LAB_002b7de4;" goto statement_identifier ;) })) }))) (expression_statement "uVar26 = 10;" (assignment_expression "uVar26 = 10" identifier = number_literal) ;) (expression_statement "fVar59 = pfVar27[0xaf];" (assignment_expression "fVar59 = pfVar27[0xaf]" identifier = (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ])) ;) (if_statement "if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }" if (parenthesized_expression "(fVar8 != 2.66247e-44)" ( (binary_expression "fVar8 != 2.66247e-44" identifier != number_literal) )) (compound_statement "{\n      uVar26 = 2;\n    }" { (expression_statement "uVar26 = 2;" (assignment_expression "uVar26 = 2" identifier = number_literal) ;) })) (if_statement "if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" if (parenthesized_expression "(pfVar5[0xc] == 7.00649e-45)" ( (binary_expression "pfVar5[0xc] == 7.00649e-45" (subscript_expression "pfVar5[0xc]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }" { (expression_statement "bVar36 = fVar59 != 0.0;" (assignment_expression "bVar36 = fVar59 != 0.0" identifier = (binary_expression "fVar59 != 0.0" identifier != number_literal)) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 0x10;" (assignment_expression "uVar33 = 0x10" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" else (compound_statement "{\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" { (expression_statement "uVar33 = 0x18;" (assignment_expression "uVar33 = 0x18" identifier = number_literal) ;) (expression_statement "bVar36 = 8;" (assignment_expression "bVar36 = 8" identifier = number_literal) ;) (if_statement "if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }" if (parenthesized_expression "(fVar59 != 0.0)" ( (binary_expression "fVar59 != 0.0" identifier != number_literal) )) (compound_statement "{\n        uVar33 = 0x20;\n      }" { (expression_statement "uVar33 = 0x20;" (assignment_expression "uVar33 = 0x20" identifier = number_literal) ;) })) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (if_statement "if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }" if (parenthesized_expression "(fVar59 == 0.0)" ( (binary_expression "fVar59 == 0.0" identifier == number_literal) )) (compound_statement "{\n        bVar36 = 0;\n      }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) })) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" else (compound_statement "{\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" { (expression_statement "iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);" (assignment_expression "iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1490))" ( (pointer_expression "**(code **)(puVar52 + 0xf1490)" * (pointer_expression "*(code **)(puVar52 + 0xf1490)" * (cast_expression "(code **)(puVar52 + 0xf1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1490)" ( (binary_expression "puVar52 + 0xf1490" identifier + number_literal) ))))) )) (argument_list "(pfVar27,pfVar31)" ( identifier , identifier )))) ;) (expression_statement "fVar39 = pfVar27[6];" (assignment_expression "fVar39 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (if_statement "if (iVar37 == 0) goto LAB_002b7d90;" if (parenthesized_expression "(iVar37 == 0)" ( (binary_expression "iVar37 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002b7d90;" goto statement_identifier ;)) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 8;" (assignment_expression "uVar33 = 8" identifier = number_literal) ;) (expression_statement "uVar26 = 0xb;" (assignment_expression "uVar26 = 0xb" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }" if (parenthesized_expression "(fVar8 != 2.66247e-44)" ( (binary_expression "fVar8 != 2.66247e-44" identifier != number_literal) )) (compound_statement "{\n      uVar26 = 3;\n    }" { (expression_statement "uVar26 = 3;" (assignment_expression "uVar26 = 3" identifier = number_literal) ;) })) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }" statement_identifier : (if_statement "if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }" if (parenthesized_expression "((int)pfVar27[4] - 2U < 2)" ( (binary_expression "(int)pfVar27[4] - 2U < 2" (binary_expression "(int)pfVar27[4] - 2U" (cast_expression "(int)pfVar27[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[4]" identifier [ number_literal ])) - number_literal) < number_literal) )) (compound_statement "{\n    bVar36 = bVar36 | 0x10;\n  }" { (expression_statement "bVar36 = bVar36 | 0x10;" (assignment_expression "bVar36 = bVar36 | 0x10" identifier = (binary_expression "bVar36 | 0x10" identifier | number_literal)) ;) }))) (if_statement "if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }" if (parenthesized_expression "((uint)pfVar27[4] < 3)" ( (binary_expression "(uint)pfVar27[4] < 3" (cast_expression "(uint)pfVar27[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[4]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n    bVar36 = bVar36 | 0x20;\n  }" { (expression_statement "bVar36 = bVar36 | 0x20;" (assignment_expression "bVar36 = bVar36 | 0x20" identifier = (binary_expression "bVar36 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }" if (parenthesized_expression "(((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000))" ( (binary_expression "((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)" (parenthesized_expression "((uint)fVar39 < 0x10000)" ( (binary_expression "(uint)fVar39 < 0x10000" (cast_expression "(uint)fVar39" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((uint)pfVar27[7] < 0x10000)" ( (binary_expression "(uint)pfVar27[7] < 0x10000" (cast_expression "(uint)pfVar27[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[7]" identifier [ number_literal ])) < number_literal) ))) )) (compound_statement "{\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }" { (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,iVar37)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar26)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar34)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,(uint)fVar50 & 0xffff)" ( identifier , (binary_expression "(uint)fVar50 & 0xffff" (cast_expression "(uint)fVar50" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,(uint)fVar38 & 0xffff)" ( identifier , (binary_expression "(uint)fVar38 & 0xffff" (cast_expression "(uint)fVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar33)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,bVar36)" ( identifier , identifier ))) ;) (if_statement "if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }" { (expression_statement "(**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);" (call_expression "(**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1e80))" ( (pointer_expression "**(code **)(puVar52 + 0xf1e80)" * (pointer_expression "*(code **)(puVar52 + 0xf1e80)" * (cast_expression "(code **)(puVar52 + 0xf1e80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1e80)" ( (binary_expression "puVar52 + 0xf1e80" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17,iVar6)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }" if (parenthesized_expression "(iVar37 != 0)" ( (binary_expression "iVar37 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }" { (expression_statement "pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);" (assignment_expression "pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34)" identifier = (cast_expression "(byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf19f8))(uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf19f8))" ( (pointer_expression "**(code **)(puVar52 + 0xf19f8)" * (pointer_expression "*(code **)(puVar52 + 0xf19f8)" * (cast_expression "(code **)(puVar52 + 0xf19f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf19f8)" ( (binary_expression "puVar52 + 0xf19f8" identifier + number_literal) ))))) )) (argument_list "(uVar34)" ( identifier ))))) ;) (if_statement "if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" if (parenthesized_expression "(pbVar20 == (byte *)0x0)" ( (binary_expression "pbVar20 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" { (expression_statement "(**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" ( (pointer_expression "**(code **)(puVar52 + 0xf140c)" * (pointer_expression "*(code **)(puVar52 + 0xf140c)" * (cast_expression "(code **)(puVar52 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf140c)" ( (binary_expression "puVar52 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x16f8" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" identifier = identifier) ;) (if_statement "if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" if (parenthesized_expression "(pfVar5[3] == 0.0)" ( (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }" { (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" else (compound_statement "{\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" { (do_statement "do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);" do (compound_statement "{\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          }" { (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" identifier = (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" ( (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ])) != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (goto_statement "goto LAB_002b7c64;" goto statement_identifier ;) })) (expression_statement "fVar39 = pfVar27[9];" (assignment_expression "fVar39 = pfVar27[9]" identifier = (subscript_expression "pfVar27[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }" if (parenthesized_expression "(0 < (int)fVar39)" ( (binary_expression "0 < (int)fVar39" number_literal < (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }" { (expression_statement "iVar49 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar49 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar19 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar65 = *(double *)(iVar49 + 0x1400);" (assignment_expression "dVar65 = *(double *)(iVar49 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "iVar37 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar37 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);" (assignment_expression "dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x5af0" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar52 + 0xf0dd8);" (assignment_expression "iVar6 = *(int *)(puVar52 + 0xf0dd8)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) ))))) ;) (expression_statement "dVar63 = *(double *)(iVar37 + -0x5ae8);" (assignment_expression "dVar63 = *(double *)(iVar37 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar37 + -0x5ae8)" * (cast_expression "(double *)(iVar37 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5ae8)" ( (binary_expression "iVar37 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "iVar48 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar48 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar54 = *(double *)(iVar6 + -0x62d8);" (assignment_expression "dVar54 = *(double *)(iVar6 + -0x62d8)" identifier = (pointer_expression "*(double *)(iVar6 + -0x62d8)" * (cast_expression "(double *)(iVar6 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x62d8)" ( (binary_expression "iVar6 + -0x62d8" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar23 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar66 = *(double *)(iVar19 + 0x1a60);" (assignment_expression "dVar66 = *(double *)(iVar19 + 0x1a60)" identifier = (pointer_expression "*(double *)(iVar19 + 0x1a60)" * (cast_expression "(double *)(iVar19 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a60)" ( (binary_expression "iVar19 + 0x1a60" identifier + number_literal) ))))) ;) (expression_statement "dVar61 = *(double *)(iVar48 + 0x1410);" (assignment_expression "dVar61 = *(double *)(iVar48 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar48 + 0x1410)" * (cast_expression "(double *)(iVar48 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + 0x1410)" ( (binary_expression "iVar48 + 0x1410" identifier + number_literal) ))))) ;) (expression_statement "fVar50 = pfVar27[10];" (assignment_expression "fVar50 = pfVar27[10]" identifier = (subscript_expression "pfVar27[10]" identifier [ number_literal ])) ;) (expression_statement "dVar57 = *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar57 = *(double *)(iVar23 + 0x1a58)" identifier = (pointer_expression "*(double *)(iVar23 + 0x1a58)" * (cast_expression "(double *)(iVar23 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1a58)" ( (binary_expression "iVar23 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "fVar59 = pfVar5[0xc];" (assignment_expression "fVar59 = pfVar5[0xc]" identifier = (subscript_expression "pfVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar45 = 0;" (assignment_expression "iVar45 = 0" identifier = number_literal) ;) (expression_statement "fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);" (assignment_expression "fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" identifier = (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pbVar46 = pbVar20;" (assignment_expression "pbVar46 = pbVar20" identifier = identifier) ;) (expression_statement "dVar67 = dVar61;" (assignment_expression "dVar67 = dVar61" identifier = identifier) ;) (expression_statement "dVar69 = dVar68;" (assignment_expression "dVar69 = dVar68" identifier = identifier) ;) (expression_statement "dVar60 = dVar68;" (assignment_expression "dVar60 = dVar68" identifier = identifier) ;) (expression_statement "dVar62 = dVar63;" (assignment_expression "dVar62 = dVar63" identifier = identifier) ;) (do_statement "do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);" do (compound_statement "{\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        }" { (expression_statement "iVar51 = (int)fVar50 + iVar45;" (assignment_expression "iVar51 = (int)fVar50 + iVar45" identifier = (binary_expression "(int)fVar50 + iVar45" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "fVar56 = (float)*(double *)(iVar51 + 0x38);" (assignment_expression "fVar56 = (float)*(double *)(iVar51 + 0x38)" identifier = (cast_expression "(float)*(double *)(iVar51 + 0x38)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x38)" * (cast_expression "(double *)(iVar51 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x38)" ( (binary_expression "iVar51 + 0x38" identifier + number_literal) )))))) ;) (if_statement "if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" if (parenthesized_expression "(fVar59 == 7.00649e-45)" ( (binary_expression "fVar59 == 7.00649e-45" identifier == number_literal) )) (compound_statement "{\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }" { (if_statement "if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" if (parenthesized_expression "((float)*(double *)(iVar51 + 0x30) <= 0.0)" ( (binary_expression "(float)*(double *)(iVar51 + 0x30) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) ))))) <= number_literal) )) (compound_statement "{\n              bVar36 = 0;\n              bVar21 = 0;\n            }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" else (compound_statement "{\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" { (expression_statement "dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" identifier = (binary_expression "((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (parenthesized_expression "((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8))" ( (binary_expression "(double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)" (cast_expression "(double)(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) )))))) * (pointer_expression "*(double *)(iVar6 + -0x62d8)" * (cast_expression "(double *)(iVar6 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x62d8)" ( (binary_expression "iVar6 + -0x62d8" identifier + number_literal) ))))) )) / (pointer_expression "*(double *)(iVar23 + 0x1a58)" * (cast_expression "(double *)(iVar23 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1a58)" ( (binary_expression "iVar23 + 0x1a58" identifier + number_literal) )))))) ;) (if_statement "if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" if (parenthesized_expression "(dVar55 < *(double *)(iVar19 + 0x1a60))" ( (binary_expression "dVar55 < *(double *)(iVar19 + 0x1a60)" identifier < (pointer_expression "*(double *)(iVar19 + 0x1a60)" * (cast_expression "(double *)(iVar19 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a60)" ( (binary_expression "iVar19 + 0x1a60" identifier + number_literal) ))))) )) (compound_statement "{\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" ( (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);" (assignment_expression "bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" identifier = (call_expression "(byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" ( (binary_expression "((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_08 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_08 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_08 & 0xff)" ( (binary_expression "extraout_v1_08 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) ;) (expression_statement "bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);" (assignment_expression "bVar21 = (byte)((extraout_v1_08 & 0xff) << 5)" identifier = (call_expression "(byte)((extraout_v1_08 & 0xff) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_08 & 0xff) << 5)" ( (binary_expression "(extraout_v1_08 & 0xff) << 5" (parenthesized_expression "(extraout_v1_08 & 0xff)" ( (binary_expression "extraout_v1_08 & 0xff" identifier & number_literal) )) << number_literal) )))) ;) }) (else_clause "else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" else (compound_statement "{\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" { (expression_statement "bVar36 = 3;" (assignment_expression "bVar36 = 3" identifier = number_literal) ;) (expression_statement "bVar21 = 0xe0;" (assignment_expression "bVar21 = 0xe0" identifier = number_literal) ;) }))) }))) (if_statement "if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }" if (parenthesized_expression "(0.0 < fVar56)" ( (binary_expression "0.0 < fVar56" number_literal < identifier) )) (compound_statement "{\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }" { (expression_statement "dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" identifier = (binary_expression "((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (parenthesized_expression "((double)fVar56 * *(double *)(iVar6 + -0x62d8))" ( (binary_expression "(double)fVar56 * *(double *)(iVar6 + -0x62d8)" (cast_expression "(double)fVar56" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(iVar6 + -0x62d8)" * (cast_expression "(double *)(iVar6 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x62d8)" ( (binary_expression "iVar6 + -0x62d8" identifier + number_literal) ))))) )) / (pointer_expression "*(double *)(iVar23 + 0x1a58)" * (cast_expression "(double *)(iVar23 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1a58)" ( (binary_expression "iVar23 + 0x1a58" identifier + number_literal) )))))) ;) (if_statement "if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }" if (parenthesized_expression "(dVar55 < *(double *)(iVar19 + 0x1a60))" ( (binary_expression "dVar55 < *(double *)(iVar19 + 0x1a60)" identifier < (pointer_expression "*(double *)(iVar19 + 0x1a60)" * (cast_expression "(double *)(iVar19 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a60)" ( (binary_expression "iVar19 + 0x1a60" identifier + number_literal) ))))) )) (compound_statement "{\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" ( (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar21 = bVar21 | extraout_v1_10;" (assignment_expression "bVar21 = bVar21 | extraout_v1_10" identifier = (binary_expression "bVar21 | extraout_v1_10" identifier | identifier)) ;) }) (else_clause "else {\n                bVar21 = 0xff;\n              }" else (compound_statement "{\n                bVar21 = 0xff;\n              }" { (expression_statement "bVar21 = 0xff;" (assignment_expression "bVar21 = 0xff" identifier = number_literal) ;) }))) })) (expression_statement "fVar56 = pfVar27[0xaf];" (assignment_expression "fVar56 = pfVar27[0xaf]" identifier = (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ])) ;) (expression_statement "*pbVar46 = bVar21;" (assignment_expression "*pbVar46 = bVar21" (pointer_expression "*pbVar46" * identifier) = identifier) ;) (if_statement "if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }" if (parenthesized_expression "((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48)))" ( (binary_expression "(fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))" (parenthesized_expression "(fVar56 != 0.0)" ( (binary_expression "fVar56 != 0.0" identifier != number_literal) )) && (parenthesized_expression "(fVar28 < (float)*(double *)(iVar51 + 0x48))" ( (binary_expression "fVar28 < (float)*(double *)(iVar51 + 0x48)" identifier < (cast_expression "(float)*(double *)(iVar51 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x48)" * (cast_expression "(double *)(iVar51 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x48)" ( (binary_expression "iVar51 + 0x48" identifier + number_literal) )))))) ))) )) (compound_statement "{\n              bVar36 = bVar36 | 0x80;\n            }" { (expression_statement "bVar36 = bVar36 | 0x80;" (assignment_expression "bVar36 = bVar36 | 0x80" identifier = (binary_expression "bVar36 | 0x80" identifier | number_literal)) ;) })) (if_statement "if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" if (parenthesized_expression "(0.0 < (float)*(double *)(iVar51 + 0x28))" ( (binary_expression "0.0 < (float)*(double *)(iVar51 + 0x28)" number_literal < (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) )))))) )) (compound_statement "{\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" { (expression_statement "dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;" (assignment_expression "dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57" identifier = (binary_expression "((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57" (parenthesized_expression "((double)(float)*(double *)(iVar51 + 0x28) * dVar54)" ( (binary_expression "(double)(float)*(double *)(iVar51 + 0x28) * dVar54" (cast_expression "(double)(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) )))))) * identifier) )) / identifier)) ;) (if_statement "if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }" if (parenthesized_expression "(dVar66 <= dVar55)" ( (binary_expression "dVar66 <= dVar55" identifier <= identifier) )) (compound_statement "{\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }" { (expression_statement "pbVar24 = pbVar46 + 2;" (assignment_expression "pbVar24 = pbVar46 + 2" identifier = (binary_expression "pbVar46 + 2" identifier + number_literal)) ;) (expression_statement "pbVar46[1] = bVar36 | 0xfc;" (assignment_expression "pbVar46[1] = bVar36 | 0xfc" (subscript_expression "pbVar46[1]" identifier [ number_literal ]) = (binary_expression "bVar36 | 0xfc" identifier | number_literal)) ;) (goto_statement "goto LAB_002b97b4;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" ( (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);" (assignment_expression "bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2)" identifier = (binary_expression "bVar36 | (byte)((extraout_v1_09 & 0xff) << 2)" identifier | (call_expression "(byte)((extraout_v1_09 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_09 & 0xff) << 2)" ( (binary_expression "(extraout_v1_09 & 0xff) << 2" (parenthesized_expression "(extraout_v1_09 & 0xff)" ( (binary_expression "extraout_v1_09 & 0xff" identifier & number_literal) )) << number_literal) ))))) ;) })) (expression_statement "pbVar46[1] = bVar36;" (assignment_expression "pbVar46[1] = bVar36" (subscript_expression "pbVar46[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar24 = pbVar46 + 2;" (assignment_expression "pbVar24 = pbVar46 + 2" identifier = (binary_expression "pbVar46 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" else (compound_statement "{\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" if (parenthesized_expression "(0.0 < fVar56)" ( (binary_expression "0.0 < fVar56" number_literal < identifier) )) (compound_statement "{\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" { (if_statement "if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" if (parenthesized_expression "((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8))" ( (binary_expression "(double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)" (binary_expression "(double)fVar56 / dVar68" (cast_expression "(double)fVar56" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) < (pointer_expression "*(double *)(iVar37 + -0x5ae8)" * (cast_expression "(double *)(iVar37 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5ae8)" ( (binary_expression "iVar37 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }" { (expression_statement "dVar58 = *(double *)(iVar48 + 0x1410);" (assignment_expression "dVar58 = *(double *)(iVar48 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar48 + 0x1410)" * (cast_expression "(double *)(iVar48 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + 0x1410)" ( (binary_expression "iVar48 + 0x1410" identifier + number_literal) ))))) ;) (expression_statement "dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);" (assignment_expression "dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400)" identifier = (binary_expression "(double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400)" (binary_expression "(double)fVar56 / dVar68" (cast_expression "(double)fVar56" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" if (parenthesized_expression "(dVar55 < dVar58)" ( (binary_expression "dVar55 < dVar58" identifier < identifier) )) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" { (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" identifier = (cast_expression "(byte)(int)dVar55" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar55" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" else (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" { (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar58);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar58)" identifier = (call_expression "(byte)(int)(dVar55 - dVar58)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar55 - dVar58)" ( (binary_expression "dVar55 - dVar58" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar36 = 0xff;\n              }" else (compound_statement "{\n                bVar36 = 0xff;\n              }" { (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" identifier = number_literal) ;) }))) })) (expression_statement "*pbVar46 = bVar36;" (assignment_expression "*pbVar46 = bVar36" (pointer_expression "*pbVar46" * identifier) = identifier) ;) (if_statement "if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" if (parenthesized_expression "((float)*(double *)(iVar51 + 0x30) <= 0.0)" ( (binary_expression "(float)*(double *)(iVar51 + 0x30) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) ))))) <= number_literal) )) (compound_statement "{\n              bVar36 = 0;\n            }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" else (compound_statement "{\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" { (expression_statement "dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;" (assignment_expression "dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69" identifier = (binary_expression "(double)(float)*(double *)(iVar51 + 0x30) / dVar69" (cast_expression "(double)(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) )))))) / identifier)) ;) (if_statement "if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" if (parenthesized_expression "(dVar55 < dVar62)" ( (binary_expression "dVar55 < dVar62" identifier < identifier) )) (compound_statement "{\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }" { (expression_statement "dVar55 = dVar55 + dVar65;" (assignment_expression "dVar55 = dVar55 + dVar65" identifier = (binary_expression "dVar55 + dVar65" identifier + identifier)) ;) (if_statement "if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" if (parenthesized_expression "(dVar55 < dVar61)" ( (binary_expression "dVar55 < dVar61" identifier < identifier) )) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" { (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" identifier = (cast_expression "(byte)(int)dVar55" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar55" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" else (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" { (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar61);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar61)" identifier = (call_expression "(byte)(int)(dVar55 - dVar61)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar55 - dVar61)" ( (binary_expression "dVar55 - dVar61" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar36 = 0xff;\n              }" else (compound_statement "{\n                bVar36 = 0xff;\n              }" { (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "pbVar46[1] = bVar36;" (assignment_expression "pbVar46[1] = bVar36" (subscript_expression "pbVar46[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar24 = pbVar46 + 3;" (assignment_expression "pbVar24 = pbVar46 + 3" identifier = (binary_expression "pbVar46 + 3" identifier + number_literal)) ;) (if_statement "if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" if (parenthesized_expression "((float)*(double *)(iVar51 + 0x28) <= 0.0)" ( (binary_expression "(float)*(double *)(iVar51 + 0x28) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) ))))) <= number_literal) )) (compound_statement "{\n              bVar36 = 0;\n            }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" else (compound_statement "{\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" { (expression_statement "dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;" (assignment_expression "dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60" identifier = (binary_expression "(double)(float)*(double *)(iVar51 + 0x28) / dVar60" (cast_expression "(double)(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) )))))) / identifier)) ;) (if_statement "if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" if (parenthesized_expression "(dVar55 < dVar63)" ( (binary_expression "dVar55 < dVar63" identifier < identifier) )) (compound_statement "{\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }" { (expression_statement "dVar55 = dVar55 + dVar65;" (assignment_expression "dVar55 = dVar55 + dVar65" identifier = (binary_expression "dVar55 + dVar65" identifier + identifier)) ;) (if_statement "if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" if (parenthesized_expression "(dVar55 < dVar67)" ( (binary_expression "dVar55 < dVar67" identifier < identifier) )) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" { (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" identifier = (cast_expression "(byte)(int)dVar55" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar55" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" else (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" { (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar67);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar67)" identifier = (call_expression "(byte)(int)(dVar55 - dVar67)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar55 - dVar67)" ( (binary_expression "dVar55 - dVar67" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar36 = 0xff;\n              }" else (compound_statement "{\n                bVar36 = 0xff;\n              }" { (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "pbVar46[2] = bVar36;" (assignment_expression "pbVar46[2] = bVar36" (subscript_expression "pbVar46[2]" identifier [ number_literal ]) = identifier) ;) }))) (labeled_statement "LAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);" statement_identifier : (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "iVar45 = iVar45 + 0x58;" (assignment_expression "iVar45 = iVar45 + 0x58" identifier = (binary_expression "iVar45 + 0x58" identifier + number_literal)) ;) (expression_statement "pbVar46 = pbVar24;" (assignment_expression "pbVar46 = pbVar24" identifier = identifier) ;) }) while (parenthesized_expression "(fVar39 != fVar38)" ( (binary_expression "fVar39 != fVar38" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);" (call_expression "(**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1e80))" ( (pointer_expression "**(code **)(puVar52 + 0xf1e80)" * (pointer_expression "*(code **)(puVar52 + 0xf1e80)" * (cast_expression "(code **)(puVar52 + 0xf1e80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1e80)" ( (binary_expression "puVar52 + 0xf1e80" identifier + number_literal) ))))) )) (argument_list "(pfVar27,(uVar18 >> 3) * uVar34,pbVar20)" ( identifier , (binary_expression "(uVar18 >> 3) * uVar34" (parenthesized_expression "(uVar18 >> 3)" ( (binary_expression "uVar18 >> 3" identifier >> number_literal) )) * identifier) , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14ac))(pbVar20);" (call_expression "(**(code **)(puVar52 + 0xf14ac))(pbVar20)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14ac))" ( (pointer_expression "**(code **)(puVar52 + 0xf14ac)" * (pointer_expression "*(code **)(puVar52 + 0xf14ac)" * (cast_expression "(code **)(puVar52 + 0xf14ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14ac)" ( (binary_expression "puVar52 + 0xf14ac" identifier + number_literal) ))))) )) (argument_list "(pbVar20)" ( identifier ))) ;) })) (expression_statement "fVar39 = pfVar27[0xb0];" (assignment_expression "fVar39 = pfVar27[0xb0]" identifier = (subscript_expression "pfVar27[0xb0]" identifier [ number_literal ])) ;) (if_statement "if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }" if (parenthesized_expression "(0 < (int)pfVar27[7])" ( (binary_expression "0 < (int)pfVar27[7]" number_literal < (cast_expression "(int)pfVar27[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[7]" identifier [ number_literal ]))) )) (compound_statement "{\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }" { (expression_statement "iVar37 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar37 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "iVar48 = (int)fVar39 * 4;" (assignment_expression "iVar48 = (int)fVar39 * 4" identifier = (binary_expression "(int)fVar39 * 4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "iVar23 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar23 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "dVar69 = *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar69 = *(double *)(iVar37 + -0x5af0)" identifier = (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar67 = *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar67 = *(double *)(iVar23 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "uStack_1c8 = 0;" (assignment_expression "uStack_1c8 = 0" identifier = number_literal) ;) (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" identifier = number_literal) ;) (expression_statement "fStack_1a0 = 0.0;" (assignment_expression "fStack_1a0 = 0.0" identifier = number_literal) ;) (do_statement "do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);" do (compound_statement "{\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);" (assignment_expression "iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1c50))" ( (pointer_expression "**(code **)(puVar52 + 0xf1c50)" * (pointer_expression "*(code **)(puVar52 + 0xf1c50)" * (cast_expression "(code **)(puVar52 + 0xf1c50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1c50)" ( (binary_expression "puVar52 + 0xf1c50" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" ( identifier , number_literal , identifier , (subscript_expression "pfVar27[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (if_statement "if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" if (parenthesized_expression "(fVar8 == 2.66247e-44)" ( (binary_expression "fVar8 == 2.66247e-44" identifier == number_literal) )) (compound_statement "{\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }" { (expression_statement "iVar45 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar45 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }" if (parenthesized_expression "(0 < (int)fVar50)" ( (binary_expression "0 < (int)fVar50" number_literal < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }" { (expression_statement "fStack_1ec = 0.0;" (assignment_expression "fStack_1ec = 0.0" identifier = number_literal) ;) (expression_statement "dVar60 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar60 = *(double *)(iVar45 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "iVar49 = 0;" (assignment_expression "iVar49 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);" do (compound_statement "{\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            }" { (expression_statement "iVar44 = 1;" (assignment_expression "iVar44 = 1" identifier = number_literal) ;) (expression_statement "iVar32 = iVar48;" (assignment_expression "iVar32 = iVar48" identifier = identifier) ;) (expression_statement "fVar59 = fStack_1ec;" (assignment_expression "fVar59 = fStack_1ec" identifier = identifier) ;) (expression_statement "iVar51 = iVar49;" (assignment_expression "iVar51 = iVar49" identifier = identifier) ;) (do_statement "do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);" do (compound_statement "{\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              }" { (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "fVar59 = (float)((int)fVar59 + 1);" (assignment_expression "fVar59 = (float)((int)fVar59 + 1)" identifier = (cast_expression "(float)((int)fVar59 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar59 + 1)" ( (binary_expression "(int)fVar59 + 1" (cast_expression "(int)fVar59" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" if (parenthesized_expression "((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59))" ( (binary_expression "(0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)" (parenthesized_expression "(0x7f < iVar51)" ( (binary_expression "0x7f < iVar51" number_literal < identifier) )) || (parenthesized_expression "((int)fVar50 <= (int)fVar59)" ( (binary_expression "(int)fVar50 <= (int)fVar59" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)fVar59" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" { (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" identifier = (binary_expression "iVar44 < 3" identifier < number_literal)) ;) (if_statement "if (!bVar1) goto LAB_002b8734;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_002b8734;" goto statement_identifier ;)) (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" identifier = (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" identifier * identifier) + identifier)) ;) (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" identifier = identifier) ;) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" identifier = identifier) ;) (if_statement "if (iVar51 == 0x80) goto LAB_002b8a88;" if (parenthesized_expression "(iVar51 == 0x80)" ( (binary_expression "iVar51 == 0x80" identifier == number_literal) )) (goto_statement "goto LAB_002b8a88;" goto statement_identifier ;)) (labeled_statement "LAB_002b8690:\n                  bVar1 = iVar44 < 3;" statement_identifier : (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" identifier = (binary_expression "iVar44 < 3" identifier < number_literal)) ;)) (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" identifier = identifier) ;) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" identifier = identifier) ;) (if_statement "if (fVar59 != fVar50) goto LAB_002b869c;" if (parenthesized_expression "(fVar59 != fVar50)" ( (binary_expression "fVar59 != fVar50" identifier != identifier) )) (goto_statement "goto LAB_002b869c;" goto statement_identifier ;)) (goto_statement "goto LAB_002b8a88;" goto statement_identifier ;) })) (expression_statement "fVar28 = pfVar27[0xb4];" (assignment_expression "fVar28 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" if (parenthesized_expression "(uVar26 == 9)" ( (binary_expression "uVar26 == 9" identifier == number_literal) )) (compound_statement "{\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }" { (if_statement "if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;" if (parenthesized_expression "((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)))" ( (binary_expression "(*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))" (parenthesized_expression "(*(int *)((int)fVar28 + 0x40) != 0)" ( (binary_expression "*(int *)((int)fVar28 + 0x40) != 0" (pointer_expression "*(int *)((int)fVar28 + 0x40)" * (cast_expression "(int *)((int)fVar28 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x40)" ( (binary_expression "(int)fVar28 + 0x40" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x44) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x44)" * (cast_expression "(int *)((int)fVar28 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x44)" ( (binary_expression "(int)fVar28 + 0x44" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" * (cast_expression "(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" ( (binary_expression "iVar19 + iVar32 + iVar29 + (int)fVar39 * -4" (binary_expression "iVar19 + iVar32 + iVar29" (binary_expression "iVar19 + iVar32" identifier + identifier) + identifier) + (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) != (pointer_expression "*(float *)(iVar19 + iVar32 + iVar29)" * (cast_expression "(float *)(iVar19 + iVar32 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar32 + iVar29)" ( (binary_expression "iVar19 + iVar32 + iVar29" (binary_expression "iVar19 + iVar32" identifier + identifier) + identifier) )))))) ))) )) (goto_statement "goto LAB_002b8680;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" { (expression_statement "iVar35 = iVar32 + (int)fVar39 * -4;" (assignment_expression "iVar35 = iVar32 + (int)fVar39 * -4" identifier = (binary_expression "iVar32 + (int)fVar39 * -4" identifier + (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "iVar29 = *(int *)((int)fVar28 + 0x20) * 4;" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x20) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x20)" * (cast_expression "(int *)((int)fVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x20)" ( (binary_expression "(int)fVar28 + 0x20" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ;) (if_statement "if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" if (parenthesized_expression "(uVar26 == 0xb)" ( (binary_expression "uVar26 == 0xb" identifier == number_literal) )) (compound_statement "{\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }" { (expression_statement "iVar41 = iVar32 + iVar19;" (assignment_expression "iVar41 = iVar32 + iVar19" identifier = (binary_expression "iVar32 + iVar19" identifier + identifier)) ;) (expression_statement "iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;" (assignment_expression "iVar35 = iVar19 + (int)fVar39 * -4 + iVar32" identifier = (binary_expression "iVar19 + (int)fVar39 * -4 + iVar32" (binary_expression "iVar19 + (int)fVar39 * -4" identifier + (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier)) ;) (expression_statement "iVar42 = *(int *)((int)fVar28 + 0x14) * 4;" (assignment_expression "iVar42 = *(int *)((int)fVar28 + 0x14) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x14)" * (cast_expression "(int *)((int)fVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x14)" ( (binary_expression "(int)fVar28 + 0x14" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ;) (expression_statement "iVar43 = *(int *)((int)fVar28 + 8) * 4;" (assignment_expression "iVar43 = *(int *)((int)fVar28 + 8) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 8) * 4" (pointer_expression "*(int *)((int)fVar28 + 8)" * (cast_expression "(int *)((int)fVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 8)" ( (binary_expression "(int)fVar28 + 8" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ;) (if_statement "if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;" if (parenthesized_expression "(*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64))" ( (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar35 + iVar29)" * (cast_expression "(float *)(iVar35 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + iVar29)" ( (binary_expression "iVar35 + iVar29" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar35 + iVar43)" * (cast_expression "(float *)(iVar35 + iVar43)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + iVar43)" ( (binary_expression "iVar35 + iVar43" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar35 + iVar42)" * (cast_expression "(float *)(iVar35 + iVar42)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + iVar42)" ( (binary_expression "iVar35 + iVar42" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) != (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar41 + iVar43)" * (cast_expression "(float *)(iVar41 + iVar43)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar43)" ( (binary_expression "iVar41 + iVar43" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar41 + iVar42)" * (cast_expression "(float *)(iVar41 + iVar42)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar42)" ( (binary_expression "iVar41 + iVar42" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) )) (goto_statement "goto LAB_002b8680;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" else (compound_statement "{\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" { (expression_statement "iVar41 = iVar19 + iVar32;" (assignment_expression "iVar41 = iVar19 + iVar32" identifier = (binary_expression "iVar19 + iVar32" identifier + identifier)) ;) (if_statement "if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" if (parenthesized_expression "((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))))" ( (binary_expression "(((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))" (parenthesized_expression "(((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" ( (binary_expression "((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" ( (binary_expression "(*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "(*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29))" ( (binary_expression "*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar35 + iVar29)" * (cast_expression "(float *)(iVar19 + iVar35 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35 + iVar29)" ( (binary_expression "iVar19 + iVar35 + iVar29" (binary_expression "iVar19 + iVar35" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) ))))) )) || (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x14) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x14)" * (cast_expression "(int *)((int)fVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x14)" ( (binary_expression "(int)fVar28 + 0x14" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" * (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar29 + iVar35)" ( (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))))) ))) )) || (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 8) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 8) * 4" (pointer_expression "*(int *)((int)fVar28 + 8)" * (cast_expression "(int *)((int)fVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 8)" ( (binary_expression "(int)fVar28 + 8" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" * (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar29 + iVar35)" ( (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))))) ))) )) || (parenthesized_expression "(((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))" ( (parenthesized_expression "((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" ( (binary_expression "(pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "(pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0))" ( (binary_expression "pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)" (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(*(int *)((int)fVar28 + 0x34) != 0)" ( (binary_expression "*(int *)((int)fVar28 + 0x34) != 0" (pointer_expression "*(int *)((int)fVar28 + 0x34)" * (cast_expression "(int *)((int)fVar28 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x34)" ( (binary_expression "(int)fVar28 + 0x34" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x38) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x38)" * (cast_expression "(int *)((int)fVar28 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x38)" ( (binary_expression "(int)fVar28 + 0x38" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" * (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar29 + iVar35)" ( (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))))) ))) )) ))) )) (compound_statement "{\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" { (labeled_statement "LAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" statement_identifier : (if_statement "if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" if (parenthesized_expression "(iVar44 < 3)" ( (binary_expression "iVar44 < 3" identifier < number_literal) )) (compound_statement "{\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" { (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" identifier = (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" identifier * identifier) + identifier)) ;) (goto_statement "goto LAB_002b8690;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002b8734;" goto statement_identifier ;) })) }))) }))) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (expression_statement "iVar32 = iVar32 + iVar48;" (assignment_expression "iVar32 = iVar32 + iVar48" identifier = (binary_expression "iVar32 + iVar48" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar44 != 0x80)" ( (binary_expression "iVar44 != 0x80" identifier != number_literal) )) ;) (expression_statement "fVar59 = (float)((int)fStack_1ec + 0x80);" (assignment_expression "fVar59 = (float)((int)fStack_1ec + 0x80)" identifier = (cast_expression "(float)((int)fStack_1ec + 0x80)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fStack_1ec + 0x80)" ( (binary_expression "(int)fStack_1ec + 0x80" (cast_expression "(int)fStack_1ec" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_002b8734:\n              bVar1 = iVar44 < 3;" statement_identifier : (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" identifier = (binary_expression "iVar44 < 3" identifier < number_literal)) ;)) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" identifier = identifier) ;) (if_statement "if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" if (parenthesized_expression "(iVar49 == 0)" ( (binary_expression "iVar49 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }" { (labeled_statement "LAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,iVar44 - 1U & 0x7f | 0x80)" ( identifier , (binary_expression "iVar44 - 1U & 0x7f | 0x80" (binary_expression "iVar44 - 1U & 0x7f" (binary_expression "iVar44 - 1U" identifier - number_literal) & number_literal) | number_literal) ))) ;)) (if_statement "if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" if (parenthesized_expression "((uVar26 & 3) == 1)" ( (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }" { (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x40) == 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x40) == 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x40)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x40)" ( (binary_expression "(int)pfVar27[0xb4] + 0x40" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002b8944:\n                    uVar17 = 0;\n                  }" { (labeled_statement "LAB_002b8944:\n                    uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" else (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x44) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x44)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x44)" ( (binary_expression "(int)pfVar27[0xb4] + 0x44" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" if (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                      uVar17 = (int)fVar50 & 0xff;\n                    }" { (expression_statement "uVar17 = (int)fVar50 & 0xff;" (assignment_expression "uVar17 = (int)fVar50 & 0xff" identifier = (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" else (compound_statement "{\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" { (expression_statement "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;" (assignment_expression "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff" identifier = (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" else (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (expression_statement "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x20) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" if (parenthesized_expression "((uVar26 & 3) == 3)" ( (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" { (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8944;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8944;" goto statement_identifier ;)) (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }" { (expression_statement "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" if (parenthesized_expression "(dVar62 < dVar65)" ( (binary_expression "dVar62 < dVar65" identifier < identifier) )) (compound_statement "{\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (labeled_statement "LAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;" statement_identifier : (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }) (else_clause "else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" else (compound_statement "{\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" { (labeled_statement "LAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;" statement_identifier : (expression_statement "uVar17 = (int)(dVar62 - dVar65) & 0xff;" (assignment_expression "uVar17 = (int)(dVar62 - dVar65) & 0xff" identifier = (binary_expression "(int)(dVar62 - dVar65) & 0xff" (cast_expression "(int)(dVar62 - dVar65)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar62 - dVar65)" ( (binary_expression "dVar62 - dVar65" identifier - identifier) ))) & number_literal)) ;)) }))) }) (else_clause "else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" else (compound_statement "{\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" { (labeled_statement "LAB_002b93cc:\n                      uVar17 = 0xff;" statement_identifier : (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_002b8948;" goto statement_identifier ;) })) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" if (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" ( (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" { (expression_statement "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar18 = (extraout_v1_05 & 0xff) << 5;" (assignment_expression "uVar18 = (extraout_v1_05 & 0xff) << 5" identifier = (binary_expression "(extraout_v1_05 & 0xff) << 5" (parenthesized_expression "(extraout_v1_05 & 0xff)" ( (binary_expression "extraout_v1_05 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_05 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_05 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_05 & 0xff)" ( (binary_expression "extraout_v1_05 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar34 = (uint)(char)uVar18;" (assignment_expression "uVar34 = (uint)(char)uVar18" identifier = (cast_expression "(uint)(char)uVar18" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" else (compound_statement "{\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" { (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (expression_statement "uVar34 = 0xffffffe0;" (assignment_expression "uVar34 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar18 = 0x1fe0;" (assignment_expression "uVar18 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" if (parenthesized_expression "(NAN(fVar59))" ( (call_expression "NAN(fVar59)" identifier (argument_list "(fVar59)" ( identifier ))) )) (compound_statement "{\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }" { (labeled_statement "LAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;" statement_identifier : (expression_statement "uVar34 = uVar34 & 0xff;" (assignment_expression "uVar34 = uVar34 & 0xff" identifier = (binary_expression "uVar34 & 0xff" identifier & number_literal)) ;)) }) (else_clause "else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" else (if_statement "if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" if (parenthesized_expression "(0.0 < fVar59)" ( (binary_expression "0.0 < fVar59" number_literal < identifier) )) (compound_statement "{\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }" { (expression_statement "dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar34 = uVar34 | extraout_v1_06;" (assignment_expression "uVar34 = uVar34 | extraout_v1_06" identifier = (binary_expression "uVar34 | extraout_v1_06" identifier | identifier)) ;) (goto_statement "goto LAB_002b94d4;" goto statement_identifier ;) })) (expression_statement "uVar34 = 0xff;" (assignment_expression "uVar34 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar34 = uVar18 & 0xff;\n                    }" else (compound_statement "{\n                      uVar34 = uVar18 & 0xff;\n                    }" { (expression_statement "uVar34 = uVar18 & 0xff;" (assignment_expression "uVar34 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar34)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }" if (parenthesized_expression "((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))))" ( (binary_expression "(pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))" (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))" ( (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))" ( (binary_expression "*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) || (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" ( (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ))) )) ))) )) (compound_statement "{\n                      uVar17 = uVar17 | 0xffffff80;\n                    }" { (expression_statement "uVar17 = uVar17 | 0xffffff80;" (assignment_expression "uVar17 = uVar17 | 0xffffff80" identifier = (binary_expression "uVar17 | 0xffffff80" identifier | number_literal)) ;) })) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }" { (expression_statement "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));" (assignment_expression "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" ( (binary_expression "(byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2)" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_07 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_07 & 0xff) << 2)" ( (binary_expression "(extraout_v1_07 & 0xff) << 2" (parenthesized_expression "(extraout_v1_07 & 0xff)" ( (binary_expression "extraout_v1_07 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" else (compound_statement "{\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" { (expression_statement "uVar17 = uVar17 | 0xfffffffc;" (assignment_expression "uVar17 = uVar17 | 0xfffffffc" identifier = (binary_expression "uVar17 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" else (compound_statement "{\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" { (if_statement "if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar59 <= 0.0)" ( (binary_expression "fVar59 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" { (expression_statement "dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" ( (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" else (compound_statement "{\n                        uVar17 = 0xff;\n                      }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" ( (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" { (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" ( (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" else (compound_statement "{\n                        uVar17 = 0xff;\n                      }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 8)" ( (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" { (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" ( (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" else (compound_statement "{\n                        uVar17 = 0xff;\n                      }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" if (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" ( (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" ( (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" { (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" if (parenthesized_expression "(dVar62 < dVar60)" ( (binary_expression "dVar62 < dVar60" identifier < identifier) )) (compound_statement "{\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" { (expression_statement "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar65 <= dVar62) goto LAB_002b89a4;" if (parenthesized_expression "(dVar65 <= dVar62)" ( (binary_expression "dVar65 <= dVar62" identifier <= identifier) )) (goto_statement "goto LAB_002b89a4;" goto statement_identifier ;)) (goto_statement "goto LAB_002b8a58;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b93cc;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b8944;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b8948;" goto statement_identifier ;) })) }))) }))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" identifier = (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" identifier * identifier) + identifier)) ;) }) (else_clause "else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" else (compound_statement "{\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" { (labeled_statement "LAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);" statement_identifier : (expression_statement "iVar51 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar51 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;)) (expression_statement "uVar17 = iVar49 - 1;" (assignment_expression "uVar17 = iVar49 - 1" identifier = (binary_expression "iVar49 - 1" identifier - number_literal)) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) (expression_statement "iVar49 = iVar19 - iVar49 * iVar48;" (assignment_expression "iVar49 = iVar19 - iVar49 * iVar48" identifier = (binary_expression "iVar19 - iVar49 * iVar48" identifier - (binary_expression "iVar49 * iVar48" identifier * identifier))) ;) (expression_statement "dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar65 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar65 = *(double *)(iVar45 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) ;) (do_statement "do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);" do (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" if (parenthesized_expression "((uVar26 & 3) == 1)" ( (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }" { (if_statement "if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" if (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x40) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" * (cast_expression "(int *)((int)fVar50 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x40)" ( (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }" { (labeled_statement "LAB_002b8cac:\n                      uVar18 = 0;" statement_identifier : (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" else (compound_statement "{\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" { (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x44) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" * (cast_expression "(int *)((int)fVar50 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x44)" ( (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" if (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        uVar18 = (int)fVar50 & 0xff;\n                      }" { (expression_statement "uVar18 = (int)fVar50 & 0xff;" (assignment_expression "uVar18 = (int)fVar50 & 0xff" identifier = (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" else (compound_statement "{\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" { (expression_statement "uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;" (assignment_expression "uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" identifier = (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" { (expression_statement "fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x20) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" if (parenthesized_expression "((uVar26 & 3) == 3)" ( (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" { (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8cac;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8cac;" goto statement_identifier ;)) (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }" { (expression_statement "uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;" (assignment_expression "uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff" identifier = (binary_expression "(int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff" (cast_expression "(int)(dVar66 - *(double *)(iVar51 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar66 - *(double *)(iVar51 + 0x1410))" ( (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) ))))) ))) & number_literal)) ;) }) (else_clause "else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" else (compound_statement "{\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (labeled_statement "LAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;" statement_identifier : (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }))) }) (else_clause "else {\n                        uVar18 = 0xff;\n                      }" else (compound_statement "{\n                        uVar18 = 0xff;\n                      }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002b8cb0;" goto statement_identifier ;) })) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" if (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" ( (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }" { (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" { (expression_statement "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar34 = (extraout_v1_02 & 0xff) << 5;" (assignment_expression "uVar34 = (extraout_v1_02 & 0xff) << 5" identifier = (binary_expression "(extraout_v1_02 & 0xff) << 5" (parenthesized_expression "(extraout_v1_02 & 0xff)" ( (binary_expression "extraout_v1_02 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_02 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_02 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_02 & 0xff)" ( (binary_expression "extraout_v1_02 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar30 = (uint)(char)uVar34;" (assignment_expression "uVar30 = (uint)(char)uVar34" identifier = (cast_expression "(uint)(char)uVar34" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar34" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" else (compound_statement "{\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" { (expression_statement "uVar18 = 3;" (assignment_expression "uVar18 = 3" identifier = number_literal) ;) (expression_statement "uVar30 = 0xffffffe0;" (assignment_expression "uVar30 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar34 = 0x1fe0;" (assignment_expression "uVar34 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" if (parenthesized_expression "(NAN(fVar59))" ( (call_expression "NAN(fVar59)" identifier (argument_list "(fVar59)" ( identifier ))) )) (compound_statement "{\n                        uVar30 = uVar30 & 0xff;\n                      }" { (expression_statement "uVar30 = uVar30 & 0xff;" (assignment_expression "uVar30 = uVar30 & 0xff" identifier = (binary_expression "uVar30 & 0xff" identifier & number_literal)) ;) }) (else_clause "else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" else (if_statement "if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" if (parenthesized_expression "(0.0 < fVar59)" ( (binary_expression "0.0 < fVar59" number_literal < identifier) )) (compound_statement "{\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar30 = (uVar30 | extraout_v1_03) & 0xff;" (assignment_expression "uVar30 = (uVar30 | extraout_v1_03) & 0xff" identifier = (binary_expression "(uVar30 | extraout_v1_03) & 0xff" (parenthesized_expression "(uVar30 | extraout_v1_03)" ( (binary_expression "uVar30 | extraout_v1_03" identifier | identifier) )) & number_literal)) ;) }) (else_clause "else {\n                          uVar30 = 0xff;\n                        }" else (compound_statement "{\n                          uVar30 = 0xff;\n                        }" { (expression_statement "uVar30 = 0xff;" (assignment_expression "uVar30 = 0xff" identifier = number_literal) ;) }))) }) (else_clause "else {\n                        uVar30 = uVar34 & 0xff;\n                      }" else (compound_statement "{\n                        uVar30 = uVar34 & 0xff;\n                      }" { (expression_statement "uVar30 = uVar34 & 0xff;" (assignment_expression "uVar30 = uVar34 & 0xff" identifier = (binary_expression "uVar34 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar30)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" if (parenthesized_expression "(pfVar27[0xaf] == 0.0)" ( (binary_expression "pfVar27[0xaf] == 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        fVar50 = pfVar27[0xb4];\n                      }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" else (compound_statement "{\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }" if (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)))" ( (binary_expression "(*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))" (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))" ( (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ))) )) (compound_statement "{\n                          uVar18 = uVar18 | 0xffffff80;\n                        }" { (expression_statement "uVar18 = uVar18 | 0xffffff80;" (assignment_expression "uVar18 = uVar18 | 0xffffff80" identifier = (binary_expression "uVar18 | 0xffffff80" identifier | number_literal)) ;) })) }))) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }" { (expression_statement "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;" (assignment_expression "uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" ( (binary_expression "(byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2)" (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_04 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_04 & 0xff) << 2)" ( (binary_expression "(extraout_v1_04 & 0xff) << 2" (parenthesized_expression "(extraout_v1_04 & 0xff)" ( (binary_expression "extraout_v1_04 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" else (compound_statement "{\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" { (expression_statement "uVar18 = uVar18 | 0xfffffffc;" (assignment_expression "uVar18 = uVar18 | 0xfffffffc" identifier = (binary_expression "uVar18 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18 & 0xff)" ( identifier , (binary_expression "uVar18 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" else (compound_statement "{\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" { (if_statement "if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar59 <= 0.0)" ( (binary_expression "fVar59 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" { (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" identifier = (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" else (compound_statement "{\n                          uVar18 = 0xff;\n                        }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" ( (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" { (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" identifier = (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" else (compound_statement "{\n                          uVar18 = 0xff;\n                        }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 8)" ( (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" { (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" identifier = (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" else (compound_statement "{\n                          uVar18 = 0xff;\n                        }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" if (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" ( (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) != number_literal) )) (compound_statement "{\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }" { (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" ( (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8cac;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8cac;" goto statement_identifier ;)) (expression_statement "dVar66 = (double)fVar50 / dVar69;" (assignment_expression "dVar66 = (double)fVar50 / dVar69" identifier = (binary_expression "(double)fVar50 / dVar69" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }" if (parenthesized_expression "(dVar66 < dVar65)" ( (binary_expression "dVar66 < dVar65" identifier < identifier) )) (compound_statement "{\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }" { (expression_statement "dVar66 = dVar66 + dVar67;" (assignment_expression "dVar66 = dVar66 + dVar67" identifier = (binary_expression "dVar66 + dVar67" identifier + identifier)) ;) (if_statement "if (dVar66 < dVar62) goto LAB_002b9048;" if (parenthesized_expression "(dVar66 < dVar62)" ( (binary_expression "dVar66 < dVar62" identifier < identifier) )) (goto_statement "goto LAB_002b9048;" goto statement_identifier ;)) (expression_statement "uVar18 = (int)(dVar66 - dVar62) & 0xff;" (assignment_expression "uVar18 = (int)(dVar66 - dVar62) & 0xff" identifier = (binary_expression "(int)(dVar66 - dVar62) & 0xff" (cast_expression "(int)(dVar66 - dVar62)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar66 - dVar62)" ( (binary_expression "dVar66 - dVar62" identifier - identifier) ))) & number_literal)) ;) })) })) (goto_statement "goto LAB_002b8cb0;" goto statement_identifier ;) })) }))) }))) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (expression_statement "iVar49 = iVar49 + iVar48;" (assignment_expression "iVar49 = iVar49 + iVar48" identifier = (binary_expression "iVar49 + iVar48" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar17 != 0xffffffff)" ( (binary_expression "uVar17 != 0xffffffff" identifier != number_literal) )) ;) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (if_statement "if (!bVar1) goto LAB_002b873c;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_002b873c;" goto statement_identifier ;)) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_002b869c:\n              iVar49 = iVar51;" statement_identifier : (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" identifier = identifier) ;)) }) while (parenthesized_expression "((int)fStack_1ec < (int)fVar50)" ( (binary_expression "(int)fStack_1ec < (int)fVar50" (cast_expression "(int)fStack_1ec" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" else (if_statement "if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" if (parenthesized_expression "(0 < (int)fVar50)" ( (binary_expression "0 < (int)fVar50" number_literal < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" { (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (expression_statement "iVar45 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar45 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "iVar49 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar49 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar65 = *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar65 = *(double *)(iVar37 + -0x5af0)" identifier = (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar66 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar66 = *(double *)(iVar45 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "dVar62 = *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = *(double *)(iVar23 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar60 = *(double *)(iVar49 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) ))))) ;) (do_statement "do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);" do (compound_statement "{\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" if (parenthesized_expression "((uVar26 & 3) == 1)" ( (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }" { (if_statement "if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" if (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x40) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" * (cast_expression "(int *)((int)fVar50 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x40)" ( (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002b8324:\n                uVar17 = 0;\n              }" { (labeled_statement "LAB_002b8324:\n                uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" else (compound_statement "{\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x44) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" * (cast_expression "(int *)((int)fVar50 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x44)" ( (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" if (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                  uVar17 = (int)fVar50 & 0xff;\n                }" { (expression_statement "uVar17 = (int)fVar50 & 0xff;" (assignment_expression "uVar17 = (int)fVar50 & 0xff" identifier = (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" else (compound_statement "{\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" { (expression_statement "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;" (assignment_expression "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff" identifier = (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" else (compound_statement "{\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" { (expression_statement "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x20) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" if (parenthesized_expression "((uVar26 & 3) == 3)" ( (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" { (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8324;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8324;" goto statement_identifier ;)) (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }" { (expression_statement "uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;" (assignment_expression "uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff" identifier = (binary_expression "(int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff" (cast_expression "(int)(dVar54 - *(double *)(iVar49 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar54 - *(double *)(iVar49 + 0x1410))" ( (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) ))))) ))) & number_literal)) ;) }) (else_clause "else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" else (compound_statement "{\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (labeled_statement "LAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;" statement_identifier : (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }))) }) (else_clause "else {\n                  uVar17 = 0xff;\n                }" else (compound_statement "{\n                  uVar17 = 0xff;\n                }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002b8328;" goto statement_identifier ;) })) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" if (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" ( (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" { (expression_statement "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar18 = (extraout_v1 & 0xff) << 5;" (assignment_expression "uVar18 = (extraout_v1 & 0xff) << 5" identifier = (binary_expression "(extraout_v1 & 0xff) << 5" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar34 = (uint)(char)uVar18;" (assignment_expression "uVar34 = (uint)(char)uVar18" identifier = (cast_expression "(uint)(char)uVar18" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" else (compound_statement "{\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" { (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (expression_statement "uVar34 = 0xffffffe0;" (assignment_expression "uVar34 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar18 = 0x1fe0;" (assignment_expression "uVar18 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" if (parenthesized_expression "(NAN(fVar59))" ( (call_expression "NAN(fVar59)" identifier (argument_list "(fVar59)" ( identifier ))) )) (compound_statement "{\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }" { (labeled_statement "LAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;" statement_identifier : (expression_statement "uVar34 = uVar34 & 0xff;" (assignment_expression "uVar34 = uVar34 & 0xff" identifier = (binary_expression "uVar34 & 0xff" identifier & number_literal)) ;)) }) (else_clause "else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" else (if_statement "if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" if (parenthesized_expression "(0.0 < fVar59)" ( (binary_expression "0.0 < fVar59" number_literal < identifier) )) (compound_statement "{\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }" { (expression_statement "dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar34 = uVar34 | extraout_v1_00;" (assignment_expression "uVar34 = uVar34 | extraout_v1_00" identifier = (binary_expression "uVar34 | extraout_v1_00" identifier | identifier)) ;) (goto_statement "goto LAB_002b8f78;" goto statement_identifier ;) })) (expression_statement "uVar34 = 0xff;" (assignment_expression "uVar34 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar34 = uVar18 & 0xff;\n                }" else (compound_statement "{\n                  uVar34 = uVar18 & 0xff;\n                }" { (expression_statement "uVar34 = uVar18 & 0xff;" (assignment_expression "uVar34 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar34)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" if (parenthesized_expression "(pfVar27[0xaf] == 0.0)" ( (binary_expression "pfVar27[0xaf] == 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" else (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }" if (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))" ( (binary_expression "(*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" ( (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ))) )) (compound_statement "{\n                    uVar17 = uVar17 | 0xffffff80;\n                  }" { (expression_statement "uVar17 = uVar17 | 0xffffff80;" (assignment_expression "uVar17 = uVar17 | 0xffffff80" identifier = (binary_expression "uVar17 | 0xffffff80" identifier | number_literal)) ;) })) }))) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }" { (expression_statement "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));" (assignment_expression "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" ( (binary_expression "(byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2)" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_01 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_01 & 0xff) << 2)" ( (binary_expression "(extraout_v1_01 & 0xff) << 2" (parenthesized_expression "(extraout_v1_01 & 0xff)" ( (binary_expression "extraout_v1_01 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" else (compound_statement "{\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" { (expression_statement "uVar17 = uVar17 | 0xfffffffc;" (assignment_expression "uVar17 = uVar17 | 0xfffffffc" identifier = (binary_expression "uVar17 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" else (compound_statement "{\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" { (if_statement "if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar59 <= 0.0)" ( (binary_expression "fVar59 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" { (expression_statement "dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" { (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" identifier = (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" else (compound_statement "{\n                    uVar17 = 0xff;\n                  }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" ( (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" { (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" { (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" identifier = (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" else (compound_statement "{\n                    uVar17 = 0xff;\n                  }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 8)" ( (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" { (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" { (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" identifier = (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" else (compound_statement "{\n                    uVar17 = 0xff;\n                  }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" if (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" ( (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" ( (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8324;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8324;" goto statement_identifier ;)) (expression_statement "dVar54 = (double)fVar50 / dVar65;" (assignment_expression "dVar54 = (double)fVar50 / dVar65" identifier = (binary_expression "(double)fVar50 / dVar65" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }" if (parenthesized_expression "(dVar54 < dVar66)" ( (binary_expression "dVar54 < dVar66" identifier < identifier) )) (compound_statement "{\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }" { (expression_statement "dVar54 = dVar54 + dVar62;" (assignment_expression "dVar54 = dVar54 + dVar62" identifier = (binary_expression "dVar54 + dVar62" identifier + identifier)) ;) (if_statement "if (dVar54 < dVar60) goto LAB_002b8e7c;" if (parenthesized_expression "(dVar54 < dVar60)" ( (binary_expression "dVar54 < dVar60" identifier < identifier) )) (goto_statement "goto LAB_002b8e7c;" goto statement_identifier ;)) (expression_statement "uVar17 = (int)(dVar54 - dVar60) & 0xff;" (assignment_expression "uVar17 = (int)(dVar54 - dVar60) & 0xff" identifier = (binary_expression "(int)(dVar54 - dVar60) & 0xff" (cast_expression "(int)(dVar54 - dVar60)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar54 - dVar60)" ( (binary_expression "dVar54 - dVar60" identifier - identifier) ))) & number_literal)) ;) })) })) (goto_statement "goto LAB_002b8328;" goto statement_identifier ;) })) }))) }))) (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = iVar19 + iVar48;" (assignment_expression "iVar19 = iVar19 + iVar48" identifier = (binary_expression "iVar19 + iVar48" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar51 < (int)pfVar27[6])" ( (binary_expression "iVar51 < (int)pfVar27[6]" identifier < (cast_expression "(int)pfVar27[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[6]" identifier [ number_literal ]))) )) ;) })))) (expression_statement "fVar50 = pfVar27[7];" (assignment_expression "fVar50 = pfVar27[7]" identifier = (subscript_expression "pfVar27[7]" identifier [ number_literal ])) ;) (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }" if (parenthesized_expression "((uint)fVar50 <= (uint)fVar38)" ( (binary_expression "(uint)fVar50 <= (uint)fVar38" (cast_expression "(uint)fVar50" ( (type_descriptor "uint" type_identifier) ) identifier) <= (cast_expression "(uint)fVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }" { (expression_statement "fStack_1a0 = (float)((int)fStack_1a0 + 1);" (assignment_expression "fStack_1a0 = (float)((int)fStack_1a0 + 1)" identifier = (cast_expression "(float)((int)fStack_1a0 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fStack_1a0 + 1)" ( (binary_expression "(int)fStack_1a0 + 1" (cast_expression "(int)fStack_1a0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "fVar38 = fStack_1a0;" (assignment_expression "fVar38 = fStack_1a0" identifier = identifier) ;) })) (if_statement "if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }" if (parenthesized_expression "(pfVar27[0xcd9] == 0.0)" ( (binary_expression "pfVar27[0xcd9] == 0.0" (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }" { (expression_statement "iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );" (assignment_expression "iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" identifier = (call_expression "(**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" (parenthesized_expression "(**(code **)(puVar52 + 0xf11a0))" ( (pointer_expression "**(code **)(puVar52 + 0xf11a0)" * (pointer_expression "*(code **)(puVar52 + 0xf11a0)" * (cast_expression "(code **)(puVar52 + 0xf11a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf11a0)" ( (binary_expression "puVar52 + 0xf11a0" identifier + number_literal) ))))) )) (argument_list "(pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x15c" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar50 = pfVar27[7];" (assignment_expression "fVar50 = pfVar27[7]" identifier = (subscript_expression "pfVar27[7]" identifier [ number_literal ])) ;) })) (expression_statement "uVar17 = uStack_1c8 + 1;" (assignment_expression "uVar17 = uStack_1c8 + 1" identifier = (binary_expression "uStack_1c8 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;" (assignment_expression "iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6" identifier = (binary_expression "(uint)(uVar17 < uStack_1c8) + iVar6" (call_expression "(uint)(uVar17 < uStack_1c8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uStack_1c8)" ( (binary_expression "uVar17 < uStack_1c8" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_1c8 = uVar17;" (assignment_expression "uStack_1c8 = uVar17" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar17 < (int)fVar50)" ( (binary_expression "(int)uVar17 < (int)fVar50" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "(**(code **)(puVar52 + 0xf1b74))(pfVar27);" (call_expression "(**(code **)(puVar52 + 0xf1b74))(pfVar27)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1b74))" ( (pointer_expression "**(code **)(puVar52 + 0xf1b74)" * (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) )) (argument_list "(pfVar27)" ( identifier ))) ;) (return_statement "return (float *)0x1;" return (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" ( (pointer_expression "**(code **)(puVar52 + 0xf140c)" * (pointer_expression "*(code **)(puVar52 + 0xf140c)" * (cast_expression "(code **)(puVar52 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf140c)" ( (binary_expression "puVar52 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" identifier = identifier) ;) (if_statement "if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" if (parenthesized_expression "(pfVar5[3] == 0.0)" ( (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }" { (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" else (compound_statement "{\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" { (do_statement "do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);" do (compound_statement "{\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    }" { (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" identifier = (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" ( (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ])) != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (labeled_statement "LAB_002b7c64:\n  (*pcVar53)(pfVar27);" statement_identifier : (expression_statement "(*pcVar53)(pfVar27);" (call_expression "(*pcVar53)(pfVar27)" (parenthesized_expression "(*pcVar53)" ( (pointer_expression "*pcVar53" * identifier) )) (argument_list "(pfVar27)" ( identifier ))) ;)) (return_statement "return (float *)0x0;" return (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x002b78a8) */\n/* WARNING: Removing unreachable block (ram,0x002b78bc) */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nImage * ReadTGAImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  ClassType *pCVar4;\n  uchar uVar5;\n  CompressionType *pCVar6;\n  Image *pIVar7;\n  int iVar8;\n  undefined *puVar9;\n  double *pdVar10;\n  ClassType *pCVar11;\n  undefined *puVar12;\n  ExceptionInfo *pEVar13;\n  Image *pIVar14;\n  PixelInfo *pPVar15;\n  undefined *puVar16;\n  undefined4 uVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  uint uVar20;\n  int iVar21;\n  PixelChannelMap *pPVar22;\n  byte *pbVar23;\n  byte bVar24;\n  PixelInfo *pPVar25;\n  CompressionType CVar26;\n  int iVar27;\n  size_t sVar28;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar29;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  PixelTrait PVar30;\n  uint extraout_v1_09;\n  PixelInfo *pPVar31;\n  ClassType CVar32;\n  uint uVar33;\n  Image *pIVar34;\n  int iVar35;\n  ExceptionInfo *pEVar36;\n  int iVar37;\n  undefined4 uVar38;\n  ColorspaceType CVar39;\n  uint uVar40;\n  int iVar41;\n  byte bVar42;\n  int iVar43;\n  uint uVar44;\n  size_t sVar45;\n  PixelInfo *pPVar46;\n  size_t sVar47;\n  int iVar48;\n  int iVar49;\n  int iVar50;\n  int iVar51;\n  int iVar52;\n  byte *pbVar53;\n  Image *pIVar54;\n  int iVar55;\n  int iVar56;\n  PixelInfo *pPVar57;\n  CompressionType CVar58;\n  uint uVar59;\n  int iVar60;\n  undefined *puVar61;\n  code *pcVar62;\n  double dVar63;\n  float fVar65;\n  double dVar64;\n  double dVar66;\n  double dVar67;\n  float fVar68;\n  float fVar69;\n  double dVar70;\n  double dVar71;\n  double dVar72;\n  double dVar73;\n  ulonglong uVar74;\n  double dVar75;\n  double dVar76;\n  double dVar77;\n  double dVar78;\n  double dVar79;\n  undefined8 uVar80;\n  size_t sStack_1ec;\n  uint uStack_1c8;\n  uint uStack_1a0;\n  ExceptionInfo *local_f8;\n  ExceptionInfo *local_f0;\n  uint local_ec;\n  ExceptionInfo *local_e4;\n  uchar runlength;\n  TGAInfo tga_info;\n  PixelInfo pixel;\n  uchar pixels [4];\n  \n  puVar61 = PTR___stack_chk_guard_003a9230;\n  pCVar6 = *(CompressionType **)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (image_info->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (exception->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  pIVar7 = (Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception);\n  pEVar36 = (ExceptionInfo *)0x2;\n  pIVar34 = pIVar7;\n  iVar8 = (*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception);\n  if (iVar8 == 0) {\n    pIVar54 = (Image *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    goto LAB_002b6964;\n  }\n  iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length);\n  tga_info.colormap_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n  tga_info.image_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n  if (iVar8 == 1) {\n    if (tga_info.image_type - TGAColormap < 3) {\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }\n    tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n    if (iVar8 != 0) {\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;\n    if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pIVar7->columns = (uint)tga_info.width;\n    pIVar7->rows = (uint)tga_info.height;\n    if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }\n    else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }\nLAB_002b6bc4:\n    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }\n    puVar9 = PTR_GetBlobSize_003a94b8;\n    pEVar36 = (ExceptionInfo *)tga_info.image_type;\n    if (pIVar7->storage_class == PseudoClass) {\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pIVar54 = (Image *)(uint)tga_info.id_length;\n    if (pIVar54 != (Image *)0x0) {\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pIVar7->orientation = BottomLeftOrientation;\n    if ((tga_info.attributes & 0x10) == 0) {\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }\n    else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }\n    if (image_info->ping == MagickFalse) {\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar38 = 0xdd;\nLAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);\n    if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }\n    pIVar54 = (Image *)0x0;\n  }\nLAB_002b6964:\n  if (pCVar6 == *(CompressionType **)puVar61) {\n    return pIVar54;\n  }\n  puVar61 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pCVar6 == (CompressionType *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  iVar8 = *(int *)(puVar61 + 0xf0e38);\n  if (pCVar6[0xc85] != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34 == (Image *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34->debug != MagickFalse) {\n    (**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);\n  }\n  if (pEVar36 == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  if (pEVar36->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  iVar8 = (**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36);\n  if (iVar8 == 0) {\n    return (Image *)0x0;\n  }\n  if ((0xffff < pIVar34->columns) || (0xffff < pIVar34->rows)) {\n    (**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename);\n    pIVar7 = pIVar34;\n    if (pCVar6[3] == UndefinedCompression) {\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }\n    else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar61 + 0xf166c))(pIVar34,0x17,pEVar36);\n  CVar26 = *pCVar6;\n  if (*pCVar6 == UndefinedCompression) {\n    CVar26 = pIVar34->compression;\n  }\n  iVar8 = (**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36);\n  if (iVar8 == 0) {\n    uVar19 = 0;\n  }\n  else {\n    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);\n    if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }\n  }\n  uVar59 = pIVar34->columns;\n  uVar44 = pIVar34->rows;\n  sVar45 = uVar59;\n  if (((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||\n     (pIVar34->alpha_trait != UndefinedPixelTrait)) {\nLAB_002b7d90:\n    if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar33 = 10;\n    PVar30 = pIVar34->alpha_trait;\n    if (CVar26 != RLECompression) {\n      uVar33 = 2;\n    }\n    if (pCVar6[0xc] == DXT3Compression) {\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }\n    else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }\n  }\n  else {\n    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);\n    sVar45 = pIVar34->columns;\n    if (iVar43 == 0) goto LAB_002b7d90;\n    bVar42 = 0;\n    uVar38 = 8;\n    uVar33 = 0xb;\n    uVar20 = 0;\n    if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }\n    uVar40 = 0;\n    iVar43 = 0;\n  }\nLAB_002b7de4:\n  if (pIVar34->orientation - TopRightOrientation < 2) {\n    bVar42 = bVar42 | 0x10;\n  }\n  if (pIVar34->orientation < BottomRightOrientation) {\n    bVar42 = bVar42 | 0x20;\n  }\n  if ((sVar45 < 0x10000) && (pIVar34->rows < 0x10000)) {\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);\n    if (uVar19 != 0) {\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }\n    if (iVar43 != 0) {\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }\n    sVar45 = pIVar34->number_channels;\n    if (0 < (int)pIVar34->rows) {\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }\n    (**(code **)(puVar61 + 0xf1b74))(pIVar34);\n    return (Image *)0x1;\n  }\n  (**(code **)(puVar61 + 0xf140c))\n            (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,\n             pIVar34->filename);\n  pIVar7 = pIVar34;\n  if (pCVar6[3] == UndefinedCompression) {\n    pcVar62 = *(code **)(puVar61 + 0xf1b74);\n  }\n  else {\n    do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar62)(pIVar34);\n  return (Image *)0x0;\n}\n\n" comment comment comment comment comment comment comment (function_definition "Image * ReadTGAImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  ClassType *pCVar4;\n  uchar uVar5;\n  CompressionType *pCVar6;\n  Image *pIVar7;\n  int iVar8;\n  undefined *puVar9;\n  double *pdVar10;\n  ClassType *pCVar11;\n  undefined *puVar12;\n  ExceptionInfo *pEVar13;\n  Image *pIVar14;\n  PixelInfo *pPVar15;\n  undefined *puVar16;\n  undefined4 uVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  uint uVar20;\n  int iVar21;\n  PixelChannelMap *pPVar22;\n  byte *pbVar23;\n  byte bVar24;\n  PixelInfo *pPVar25;\n  CompressionType CVar26;\n  int iVar27;\n  size_t sVar28;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar29;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  PixelTrait PVar30;\n  uint extraout_v1_09;\n  PixelInfo *pPVar31;\n  ClassType CVar32;\n  uint uVar33;\n  Image *pIVar34;\n  int iVar35;\n  ExceptionInfo *pEVar36;\n  int iVar37;\n  undefined4 uVar38;\n  ColorspaceType CVar39;\n  uint uVar40;\n  int iVar41;\n  byte bVar42;\n  int iVar43;\n  uint uVar44;\n  size_t sVar45;\n  PixelInfo *pPVar46;\n  size_t sVar47;\n  int iVar48;\n  int iVar49;\n  int iVar50;\n  int iVar51;\n  int iVar52;\n  byte *pbVar53;\n  Image *pIVar54;\n  int iVar55;\n  int iVar56;\n  PixelInfo *pPVar57;\n  CompressionType CVar58;\n  uint uVar59;\n  int iVar60;\n  undefined *puVar61;\n  code *pcVar62;\n  double dVar63;\n  float fVar65;\n  double dVar64;\n  double dVar66;\n  double dVar67;\n  float fVar68;\n  float fVar69;\n  double dVar70;\n  double dVar71;\n  double dVar72;\n  double dVar73;\n  ulonglong uVar74;\n  double dVar75;\n  double dVar76;\n  double dVar77;\n  double dVar78;\n  double dVar79;\n  undefined8 uVar80;\n  size_t sStack_1ec;\n  uint uStack_1c8;\n  uint uStack_1a0;\n  ExceptionInfo *local_f8;\n  ExceptionInfo *local_f0;\n  uint local_ec;\n  ExceptionInfo *local_e4;\n  uchar runlength;\n  TGAInfo tga_info;\n  PixelInfo pixel;\n  uchar pixels [4];\n  \n  puVar61 = PTR___stack_chk_guard_003a9230;\n  pCVar6 = *(CompressionType **)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (image_info->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (exception->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  pIVar7 = (Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception);\n  pEVar36 = (ExceptionInfo *)0x2;\n  pIVar34 = pIVar7;\n  iVar8 = (*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception);\n  if (iVar8 == 0) {\n    pIVar54 = (Image *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    goto LAB_002b6964;\n  }\n  iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length);\n  tga_info.colormap_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n  tga_info.image_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n  if (iVar8 == 1) {\n    if (tga_info.image_type - TGAColormap < 3) {\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }\n    tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n    if (iVar8 != 0) {\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;\n    if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pIVar7->columns = (uint)tga_info.width;\n    pIVar7->rows = (uint)tga_info.height;\n    if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }\n    else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }\nLAB_002b6bc4:\n    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }\n    puVar9 = PTR_GetBlobSize_003a94b8;\n    pEVar36 = (ExceptionInfo *)tga_info.image_type;\n    if (pIVar7->storage_class == PseudoClass) {\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pIVar54 = (Image *)(uint)tga_info.id_length;\n    if (pIVar54 != (Image *)0x0) {\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pIVar7->orientation = BottomLeftOrientation;\n    if ((tga_info.attributes & 0x10) == 0) {\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }\n    else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }\n    if (image_info->ping == MagickFalse) {\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar38 = 0xdd;\nLAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);\n    if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }\n    pIVar54 = (Image *)0x0;\n  }\nLAB_002b6964:\n  if (pCVar6 == *(CompressionType **)puVar61) {\n    return pIVar54;\n  }\n  puVar61 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pCVar6 == (CompressionType *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  iVar8 = *(int *)(puVar61 + 0xf0e38);\n  if (pCVar6[0xc85] != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34 == (Image *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34->debug != MagickFalse) {\n    (**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);\n  }\n  if (pEVar36 == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  if (pEVar36->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  iVar8 = (**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36);\n  if (iVar8 == 0) {\n    return (Image *)0x0;\n  }\n  if ((0xffff < pIVar34->columns) || (0xffff < pIVar34->rows)) {\n    (**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename);\n    pIVar7 = pIVar34;\n    if (pCVar6[3] == UndefinedCompression) {\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }\n    else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar61 + 0xf166c))(pIVar34,0x17,pEVar36);\n  CVar26 = *pCVar6;\n  if (*pCVar6 == UndefinedCompression) {\n    CVar26 = pIVar34->compression;\n  }\n  iVar8 = (**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36);\n  if (iVar8 == 0) {\n    uVar19 = 0;\n  }\n  else {\n    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);\n    if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }\n  }\n  uVar59 = pIVar34->columns;\n  uVar44 = pIVar34->rows;\n  sVar45 = uVar59;\n  if (((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||\n     (pIVar34->alpha_trait != UndefinedPixelTrait)) {\nLAB_002b7d90:\n    if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar33 = 10;\n    PVar30 = pIVar34->alpha_trait;\n    if (CVar26 != RLECompression) {\n      uVar33 = 2;\n    }\n    if (pCVar6[0xc] == DXT3Compression) {\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }\n    else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }\n  }\n  else {\n    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);\n    sVar45 = pIVar34->columns;\n    if (iVar43 == 0) goto LAB_002b7d90;\n    bVar42 = 0;\n    uVar38 = 8;\n    uVar33 = 0xb;\n    uVar20 = 0;\n    if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }\n    uVar40 = 0;\n    iVar43 = 0;\n  }\nLAB_002b7de4:\n  if (pIVar34->orientation - TopRightOrientation < 2) {\n    bVar42 = bVar42 | 0x10;\n  }\n  if (pIVar34->orientation < BottomRightOrientation) {\n    bVar42 = bVar42 | 0x20;\n  }\n  if ((sVar45 < 0x10000) && (pIVar34->rows < 0x10000)) {\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);\n    if (uVar19 != 0) {\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }\n    if (iVar43 != 0) {\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }\n    sVar45 = pIVar34->number_channels;\n    if (0 < (int)pIVar34->rows) {\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }\n    (**(code **)(puVar61 + 0xf1b74))(pIVar34);\n    return (Image *)0x1;\n  }\n  (**(code **)(puVar61 + 0xf140c))\n            (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,\n             pIVar34->filename);\n  pIVar7 = pIVar34;\n  if (pCVar6[3] == UndefinedCompression) {\n    pcVar62 = *(code **)(puVar61 + 0xf1b74);\n  }\n  else {\n    do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar62)(pIVar34);\n  return (Image *)0x0;\n}" type_identifier (pointer_declarator "* ReadTGAImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadTGAImage(ImageInfo *image_info,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  ClassType *pCVar4;\n  uchar uVar5;\n  CompressionType *pCVar6;\n  Image *pIVar7;\n  int iVar8;\n  undefined *puVar9;\n  double *pdVar10;\n  ClassType *pCVar11;\n  undefined *puVar12;\n  ExceptionInfo *pEVar13;\n  Image *pIVar14;\n  PixelInfo *pPVar15;\n  undefined *puVar16;\n  undefined4 uVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  uint uVar20;\n  int iVar21;\n  PixelChannelMap *pPVar22;\n  byte *pbVar23;\n  byte bVar24;\n  PixelInfo *pPVar25;\n  CompressionType CVar26;\n  int iVar27;\n  size_t sVar28;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar29;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  PixelTrait PVar30;\n  uint extraout_v1_09;\n  PixelInfo *pPVar31;\n  ClassType CVar32;\n  uint uVar33;\n  Image *pIVar34;\n  int iVar35;\n  ExceptionInfo *pEVar36;\n  int iVar37;\n  undefined4 uVar38;\n  ColorspaceType CVar39;\n  uint uVar40;\n  int iVar41;\n  byte bVar42;\n  int iVar43;\n  uint uVar44;\n  size_t sVar45;\n  PixelInfo *pPVar46;\n  size_t sVar47;\n  int iVar48;\n  int iVar49;\n  int iVar50;\n  int iVar51;\n  int iVar52;\n  byte *pbVar53;\n  Image *pIVar54;\n  int iVar55;\n  int iVar56;\n  PixelInfo *pPVar57;\n  CompressionType CVar58;\n  uint uVar59;\n  int iVar60;\n  undefined *puVar61;\n  code *pcVar62;\n  double dVar63;\n  float fVar65;\n  double dVar64;\n  double dVar66;\n  double dVar67;\n  float fVar68;\n  float fVar69;\n  double dVar70;\n  double dVar71;\n  double dVar72;\n  double dVar73;\n  ulonglong uVar74;\n  double dVar75;\n  double dVar76;\n  double dVar77;\n  double dVar78;\n  double dVar79;\n  undefined8 uVar80;\n  size_t sStack_1ec;\n  uint uStack_1c8;\n  uint uStack_1a0;\n  ExceptionInfo *local_f8;\n  ExceptionInfo *local_f0;\n  uint local_ec;\n  ExceptionInfo *local_e4;\n  uchar runlength;\n  TGAInfo tga_info;\n  PixelInfo pixel;\n  uchar pixels [4];\n  \n  puVar61 = PTR___stack_chk_guard_003a9230;\n  pCVar6 = *(CompressionType **)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (image_info->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  if (exception->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }\n  pIVar7 = (Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception);\n  pEVar36 = (ExceptionInfo *)0x2;\n  pIVar34 = pIVar7;\n  iVar8 = (*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception);\n  if (iVar8 == 0) {\n    pIVar54 = (Image *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    goto LAB_002b6964;\n  }\n  iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length);\n  tga_info.colormap_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n  tga_info.image_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n  if (iVar8 == 1) {\n    if (tga_info.image_type - TGAColormap < 3) {\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }\n    tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n    if (iVar8 != 0) {\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;\n    if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pIVar7->columns = (uint)tga_info.width;\n    pIVar7->rows = (uint)tga_info.height;\n    if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }\n    else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }\nLAB_002b6bc4:\n    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }\n    puVar9 = PTR_GetBlobSize_003a94b8;\n    pEVar36 = (ExceptionInfo *)tga_info.image_type;\n    if (pIVar7->storage_class == PseudoClass) {\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pIVar54 = (Image *)(uint)tga_info.id_length;\n    if (pIVar54 != (Image *)0x0) {\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pIVar7->orientation = BottomLeftOrientation;\n    if ((tga_info.attributes & 0x10) == 0) {\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }\n    else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }\n    if (image_info->ping == MagickFalse) {\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar38 = 0xdd;\nLAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);\n    if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }\n    pIVar54 = (Image *)0x0;\n  }\nLAB_002b6964:\n  if (pCVar6 == *(CompressionType **)puVar61) {\n    return pIVar54;\n  }\n  puVar61 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pCVar6 == (CompressionType *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  iVar8 = *(int *)(puVar61 + 0xf0e38);\n  if (pCVar6[0xc85] != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34 == (Image *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);\n    return pIVar34;\n  }\n  if (pIVar34->debug != MagickFalse) {\n    (**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);\n  }\n  if (pEVar36 == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  if (pEVar36->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }\n  iVar8 = (**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36);\n  if (iVar8 == 0) {\n    return (Image *)0x0;\n  }\n  if ((0xffff < pIVar34->columns) || (0xffff < pIVar34->rows)) {\n    (**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename);\n    pIVar7 = pIVar34;\n    if (pCVar6[3] == UndefinedCompression) {\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }\n    else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar61 + 0xf166c))(pIVar34,0x17,pEVar36);\n  CVar26 = *pCVar6;\n  if (*pCVar6 == UndefinedCompression) {\n    CVar26 = pIVar34->compression;\n  }\n  iVar8 = (**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36);\n  if (iVar8 == 0) {\n    uVar19 = 0;\n  }\n  else {\n    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);\n    if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }\n  }\n  uVar59 = pIVar34->columns;\n  uVar44 = pIVar34->rows;\n  sVar45 = uVar59;\n  if (((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||\n     (pIVar34->alpha_trait != UndefinedPixelTrait)) {\nLAB_002b7d90:\n    if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar33 = 10;\n    PVar30 = pIVar34->alpha_trait;\n    if (CVar26 != RLECompression) {\n      uVar33 = 2;\n    }\n    if (pCVar6[0xc] == DXT3Compression) {\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }\n    else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }\n  }\n  else {\n    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);\n    sVar45 = pIVar34->columns;\n    if (iVar43 == 0) goto LAB_002b7d90;\n    bVar42 = 0;\n    uVar38 = 8;\n    uVar33 = 0xb;\n    uVar20 = 0;\n    if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }\n    uVar40 = 0;\n    iVar43 = 0;\n  }\nLAB_002b7de4:\n  if (pIVar34->orientation - TopRightOrientation < 2) {\n    bVar42 = bVar42 | 0x10;\n  }\n  if (pIVar34->orientation < BottomRightOrientation) {\n    bVar42 = bVar42 | 0x20;\n  }\n  if ((sVar45 < 0x10000) && (pIVar34->rows < 0x10000)) {\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);\n    if (uVar19 != 0) {\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }\n    if (iVar43 != 0) {\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }\n    sVar45 = pIVar34->number_channels;\n    if (0 < (int)pIVar34->rows) {\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }\n    (**(code **)(puVar61 + 0xf1b74))(pIVar34);\n    return (Image *)0x1;\n  }\n  (**(code **)(puVar61 + 0xf140c))\n            (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,\n             pIVar34->filename);\n  pIVar7 = pIVar34;\n  if (pCVar6[3] == UndefinedCompression) {\n    pcVar62 = *(code **)(puVar61 + 0xf1b74);\n  }\n  else {\n    do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar62)(pIVar34);\n  return (Image *)0x0;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "ClassType *pCVar4;" type_identifier (pointer_declarator "*pCVar4" * identifier) ;) (declaration "uchar uVar5;" type_identifier identifier ;) (declaration "CompressionType *pCVar6;" type_identifier (pointer_declarator "*pCVar6" * identifier) ;) (declaration "Image *pIVar7;" type_identifier (pointer_declarator "*pIVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "ClassType *pCVar11;" type_identifier (pointer_declarator "*pCVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "ExceptionInfo *pEVar13;" type_identifier (pointer_declarator "*pEVar13" * identifier) ;) (declaration "Image *pIVar14;" type_identifier (pointer_declarator "*pIVar14" * identifier) ;) (declaration "PixelInfo *pPVar15;" type_identifier (pointer_declarator "*pPVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "PixelChannelMap *pPVar22;" type_identifier (pointer_declarator "*pPVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "PixelInfo *pPVar25;" type_identifier (pointer_declarator "*pPVar25" * identifier) ;) (declaration "CompressionType CVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "size_t sVar28;" primitive_type identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "uint extraout_v1_00;" type_identifier identifier ;) (declaration "uint extraout_v1_01;" type_identifier identifier ;) (declaration "uint extraout_v1_02;" type_identifier identifier ;) (declaration "uint extraout_v1_03;" type_identifier identifier ;) (declaration "uint extraout_v1_04;" type_identifier identifier ;) (declaration "uint extraout_v1_05;" type_identifier identifier ;) (declaration "uint extraout_v1_06;" type_identifier identifier ;) (declaration "uint extraout_v1_07;" type_identifier identifier ;) (declaration "byte *pbVar29;" type_identifier (pointer_declarator "*pbVar29" * identifier) ;) (declaration "uint extraout_v1_08;" type_identifier identifier ;) (declaration "byte extraout_v1_10;" type_identifier identifier ;) (declaration "PixelTrait PVar30;" type_identifier identifier ;) (declaration "uint extraout_v1_09;" type_identifier identifier ;) (declaration "PixelInfo *pPVar31;" type_identifier (pointer_declarator "*pPVar31" * identifier) ;) (declaration "ClassType CVar32;" type_identifier identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "Image *pIVar34;" type_identifier (pointer_declarator "*pIVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "ExceptionInfo *pEVar36;" type_identifier (pointer_declarator "*pEVar36" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "undefined4 uVar38;" type_identifier identifier ;) (declaration "ColorspaceType CVar39;" type_identifier identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "uint uVar44;" type_identifier identifier ;) (declaration "size_t sVar45;" primitive_type identifier ;) (declaration "PixelInfo *pPVar46;" type_identifier (pointer_declarator "*pPVar46" * identifier) ;) (declaration "size_t sVar47;" primitive_type identifier ;) (declaration "int iVar48;" primitive_type identifier ;) (declaration "int iVar49;" primitive_type identifier ;) (declaration "int iVar50;" primitive_type identifier ;) (declaration "int iVar51;" primitive_type identifier ;) (declaration "int iVar52;" primitive_type identifier ;) (declaration "byte *pbVar53;" type_identifier (pointer_declarator "*pbVar53" * identifier) ;) (declaration "Image *pIVar54;" type_identifier (pointer_declarator "*pIVar54" * identifier) ;) (declaration "int iVar55;" primitive_type identifier ;) (declaration "int iVar56;" primitive_type identifier ;) (declaration "PixelInfo *pPVar57;" type_identifier (pointer_declarator "*pPVar57" * identifier) ;) (declaration "CompressionType CVar58;" type_identifier identifier ;) (declaration "uint uVar59;" type_identifier identifier ;) (declaration "int iVar60;" primitive_type identifier ;) (declaration "undefined *puVar61;" type_identifier (pointer_declarator "*puVar61" * identifier) ;) (declaration "code *pcVar62;" type_identifier (pointer_declarator "*pcVar62" * identifier) ;) (declaration "double dVar63;" primitive_type identifier ;) (declaration "float fVar65;" primitive_type identifier ;) (declaration "double dVar64;" primitive_type identifier ;) (declaration "double dVar66;" primitive_type identifier ;) (declaration "double dVar67;" primitive_type identifier ;) (declaration "float fVar68;" primitive_type identifier ;) (declaration "float fVar69;" primitive_type identifier ;) (declaration "double dVar70;" primitive_type identifier ;) (declaration "double dVar71;" primitive_type identifier ;) (declaration "double dVar72;" primitive_type identifier ;) (declaration "double dVar73;" primitive_type identifier ;) (declaration "ulonglong uVar74;" type_identifier identifier ;) (declaration "double dVar75;" primitive_type identifier ;) (declaration "double dVar76;" primitive_type identifier ;) (declaration "double dVar77;" primitive_type identifier ;) (declaration "double dVar78;" primitive_type identifier ;) (declaration "double dVar79;" primitive_type identifier ;) (declaration "undefined8 uVar80;" type_identifier identifier ;) (declaration "size_t sStack_1ec;" primitive_type identifier ;) (declaration "uint uStack_1c8;" type_identifier identifier ;) (declaration "uint uStack_1a0;" type_identifier identifier ;) (declaration "ExceptionInfo *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "ExceptionInfo *local_f0;" type_identifier (pointer_declarator "*local_f0" * identifier) ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "ExceptionInfo *local_e4;" type_identifier (pointer_declarator "*local_e4" * identifier) ;) (declaration "uchar runlength;" type_identifier identifier ;) (declaration "TGAInfo tga_info;" type_identifier identifier ;) (declaration "PixelInfo pixel;" type_identifier identifier ;) (declaration "uchar pixels [4];" type_identifier (array_declarator "pixels [4]" identifier [ number_literal ]) ;) (expression_statement "puVar61 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar61 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "pCVar6 = *(CompressionType **)PTR___stack_chk_guard_003a9230;" (assignment_expression "pCVar6 = *(CompressionType **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(CompressionType **)PTR___stack_chk_guard_003a9230" * (cast_expression "(CompressionType **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "CompressionType **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\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    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\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    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,image_info->filename)" ( number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\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    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pIVar34 = (Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(Image *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (expression_statement "pIVar7 = (Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception);" (assignment_expression "pIVar7 = (Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception)" identifier = (cast_expression "(Image *)(*(code *)PTR_AcquireImage_003a960c)(image_info,exception)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireImage_003a960c)(image_info,exception)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" ( (pointer_expression "*(code *)PTR_AcquireImage_003a960c" * (cast_expression "(code *)PTR_AcquireImage_003a960c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_info,exception)" ( identifier , identifier ))))) ;) (expression_statement "pEVar36 = (ExceptionInfo *)0x2;" (assignment_expression "pEVar36 = (ExceptionInfo *)0x2" identifier = (cast_expression "(ExceptionInfo *)0x2" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar34 = pIVar7;" (assignment_expression "pIVar34 = pIVar7" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception);" (assignment_expression "iVar8 = (*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(image_info,pIVar7,2,exception)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" ( (pointer_expression "*(code *)PTR_OpenBlob_003a924c" * (cast_expression "(code *)PTR_OpenBlob_003a924c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_info,pIVar7,2,exception)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n    pIVar54 = (Image *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    goto LAB_002b6964;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    pIVar54 = (Image *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    goto LAB_002b6964;\n  }" { (expression_statement "pIVar54 = (Image *)0x0;" (assignment_expression "pIVar54 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pIVar7)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier ))) ;) (goto_statement "goto LAB_002b6964;" goto statement_identifier ;) })) (expression_statement "iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length);" (assignment_expression "iVar8 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&tga_info.id_length)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,1,&tga_info.id_length)" ( identifier , number_literal , (pointer_expression "&tga_info.id_length" & (field_expression "tga_info.id_length" identifier . field_identifier)) )))) ;) (expression_statement "tga_info.colormap_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "tga_info.colormap_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (field_expression "tga_info.colormap_type" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.image_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "tga_info.image_type = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (field_expression "tga_info.image_type" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iVar8 == 1) {\n    if (tga_info.image_type - TGAColormap < 3) {\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }\n    tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n    if (iVar8 != 0) {\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;\n    if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pIVar7->columns = (uint)tga_info.width;\n    pIVar7->rows = (uint)tga_info.height;\n    if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }\n    else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }\nLAB_002b6bc4:\n    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }\n    puVar9 = PTR_GetBlobSize_003a94b8;\n    pEVar36 = (ExceptionInfo *)tga_info.image_type;\n    if (pIVar7->storage_class == PseudoClass) {\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pIVar54 = (Image *)(uint)tga_info.id_length;\n    if (pIVar54 != (Image *)0x0) {\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pIVar7->orientation = BottomLeftOrientation;\n    if ((tga_info.attributes & 0x10) == 0) {\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }\n    else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }\n    if (image_info->ping == MagickFalse) {\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar38 = 0xdd;\nLAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);\n    if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }\n    pIVar54 = (Image *)0x0;\n  }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n    if (tga_info.image_type - TGAColormap < 3) {\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }\n    tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);\n    tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n    iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n    if (iVar8 != 0) {\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;\n    if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pIVar7->columns = (uint)tga_info.width;\n    pIVar7->rows = (uint)tga_info.height;\n    if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }\n    else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }\nLAB_002b6bc4:\n    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }\n    puVar9 = PTR_GetBlobSize_003a94b8;\n    pEVar36 = (ExceptionInfo *)tga_info.image_type;\n    if (pIVar7->storage_class == PseudoClass) {\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pIVar54 = (Image *)(uint)tga_info.id_length;\n    if (pIVar54 != (Image *)0x0) {\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pIVar7->orientation = BottomLeftOrientation;\n    if ((tga_info.attributes & 0x10) == 0) {\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }\n    else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }\n    if (image_info->ping == MagickFalse) {\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }\n  }" { (if_statement "if (tga_info.image_type - TGAColormap < 3) {\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }" if (parenthesized_expression "(tga_info.image_type - TGAColormap < 3)" ( (binary_expression "tga_info.image_type - TGAColormap < 3" (binary_expression "tga_info.image_type - TGAColormap" (field_expression "tga_info.image_type" identifier . field_identifier) - identifier) < number_literal) )) (compound_statement "{\n      if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }\n    }" { (if_statement "if (tga_info.image_type == TGAColormap) {\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }" if (parenthesized_expression "(tga_info.image_type == TGAColormap)" ( (binary_expression "tga_info.image_type == TGAColormap" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) )) (compound_statement "{\nLAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;\n      }" { (labeled_statement "LAB_002b69c0:\n        if (tga_info.colormap_type == '\0') goto LAB_002b68ec;" statement_identifier : (if_statement "if (tga_info.colormap_type == '\0') goto LAB_002b68ec;" if (parenthesized_expression "(tga_info.colormap_type == '\0')" ( (binary_expression "tga_info.colormap_type == '\0'" (field_expression "tga_info.colormap_type" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002b68ec;" goto statement_identifier ;))) })) }) (else_clause "else {\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }" else (compound_statement "{\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;\n      if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;\n    }" { (if_statement "if (tga_info.image_type == TGARLEColormap) goto LAB_002b69c0;" if (parenthesized_expression "(tga_info.image_type == TGARLEColormap)" ( (binary_expression "tga_info.image_type == TGARLEColormap" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) )) (goto_statement "goto LAB_002b69c0;" goto statement_identifier ;)) (if_statement "if (1 < tga_info.image_type - TGARLERGB) goto LAB_002b68ec;" if (parenthesized_expression "(1 < tga_info.image_type - TGARLERGB)" ( (binary_expression "1 < tga_info.image_type - TGARLERGB" number_literal < (binary_expression "tga_info.image_type - TGARLERGB" (field_expression "tga_info.image_type" identifier . field_identifier) - identifier)) )) (goto_statement "goto LAB_002b68ec;" goto statement_identifier ;)) }))) (expression_statement "tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);" (assignment_expression "tga_info.colormap_index = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (field_expression "tga_info.colormap_index" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);" (assignment_expression "tga_info.colormap_length = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (field_expression "tga_info.colormap_length" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "tga_info.colormap_size = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (field_expression "tga_info.colormap_size" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);" (assignment_expression "tga_info.x_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (field_expression "tga_info.x_origin" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);" (assignment_expression "tga_info.y_origin = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (field_expression "tga_info.y_origin" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);" (assignment_expression "tga_info.width = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (field_expression "tga_info.width" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7);" (assignment_expression "tga_info.height = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (field_expression "tga_info.height" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "tga_info.bits_per_pixel = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (field_expression "tga_info.bits_per_pixel" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "tga_info.attributes = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (field_expression "tga_info.attributes" identifier . field_identifier) = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);" (assignment_expression "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pIVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar38 = 0xe8;\n      puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" { (expression_statement "uVar38 = 0xe8;" (assignment_expression "uVar38 = 0xe8" identifier = number_literal) ;) (expression_statement "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar9 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier + number_literal)) ;) (goto_statement "goto LAB_002b6920;" goto statement_identifier ;) })) (expression_statement "pIVar34 = (Image *)(uint)tga_info.bits_per_pixel;" (assignment_expression "pIVar34 = (Image *)(uint)tga_info.bits_per_pixel" identifier = (cast_expression "(Image *)(uint)tga_info.bits_per_pixel" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)tga_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.bits_per_pixel" identifier . field_identifier)))) ;) (if_statement "if ((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))) {\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }" if (parenthesized_expression "((0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f)))" ( (binary_expression "(0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff))" ( (binary_expression "0x1e < ((uint)&pIVar34[-1].field_0x33d6 & 0xff)" number_literal < (parenthesized_expression "((uint)&pIVar34[-1].field_0x33d6 & 0xff)" ( (binary_expression "(uint)&pIVar34[-1].field_0x33d6 & 0xff" (binary_expression "(uint)&pIVar34[-1].field_0x33d6" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "pIVar34[-1].field_0x33d6" (subscript_expression "pIVar34[-1]" identifier [ number_literal ]) . field_identifier)) & number_literal) ))) )) || (parenthesized_expression "(-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f)" ( (binary_expression "(0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)) << 0x1f" (parenthesized_expression "(0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f))" ( (binary_expression "0x40407fffU >> ((uint)&pIVar34[-1].field_0x33d6 & 0x1f)" number_literal >> (parenthesized_expression "((uint)&pIVar34[-1].field_0x33d6 & 0x1f)" ( (binary_expression "(uint)&pIVar34[-1].field_0x33d6 & 0x1f" (binary_expression "(uint)&pIVar34[-1].field_0x33d6" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "pIVar34[-1].field_0x33d6" (subscript_expression "pIVar34[-1]" identifier [ number_literal ]) . field_identifier)) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n      uVar38 = 0xeb;\n      goto LAB_002b68f4;\n    }" { (expression_statement "uVar38 = 0xeb;" (assignment_expression "uVar38 = 0xeb" identifier = number_literal) ;) (goto_statement "goto LAB_002b68f4;" goto statement_identifier ;) })) (expression_statement "pIVar7->columns = (uint)tga_info.width;" (assignment_expression "pIVar7->columns = (uint)tga_info.width" (field_expression "pIVar7->columns" identifier -> field_identifier) = (cast_expression "(uint)tga_info.width" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.width" identifier . field_identifier))) ;) (expression_statement "pIVar7->rows = (uint)tga_info.height;" (assignment_expression "pIVar7->rows = (uint)tga_info.height" (field_expression "pIVar7->rows" identifier -> field_identifier) = (cast_expression "(uint)tga_info.height" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.height" identifier . field_identifier))) ;) (if_statement "if ((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)) {\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }\n    else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }" if (parenthesized_expression "((tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome))" ( (binary_expression "(tga_info.image_type == TGAMonochrome) || (tga_info.image_type == TGARLEMonochrome)" (parenthesized_expression "(tga_info.image_type == TGAMonochrome)" ( (binary_expression "tga_info.image_type == TGAMonochrome" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) )) || (parenthesized_expression "(tga_info.image_type == TGARLEMonochrome)" ( (binary_expression "tga_info.image_type == TGARLEMonochrome" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) ))) )) (compound_statement "{\nLAB_002b6bac:\n      sVar45 = 5;\n      if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }\n      pIVar7->depth = sVar45;\n    }" { (labeled_statement "LAB_002b6bac:\n      sVar45 = 5;" statement_identifier : (expression_statement "sVar45 = 5;" (assignment_expression "sVar45 = 5" identifier = number_literal) ;)) (if_statement "if (&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)) {\n        sVar45 = 8;\n      }" if (parenthesized_expression "(&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3))" ( (binary_expression "&DAT_00000007 < (byte *)((int)&pIVar34[-1].mask_trait + 3)" (pointer_expression "&DAT_00000007" & identifier) < (cast_expression "(byte *)((int)&pIVar34[-1].mask_trait + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar34[-1].mask_trait + 3)" ( (binary_expression "(int)&pIVar34[-1].mask_trait + 3" (cast_expression "(int)&pIVar34[-1].mask_trait" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar34[-1].mask_trait" & (field_expression "pIVar34[-1].mask_trait" (subscript_expression "pIVar34[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) )) (compound_statement "{\n        sVar45 = 8;\n      }" { (expression_statement "sVar45 = 8;" (assignment_expression "sVar45 = 8" identifier = number_literal) ;) })) (expression_statement "pIVar7->depth = sVar45;" (assignment_expression "pIVar7->depth = sVar45" (field_expression "pIVar7->depth" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }" else (compound_statement "{\n      if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }\n      pIVar7->alpha_trait = PVar30;\n      if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }\n      pIVar7->storage_class = PseudoClass;\n    }" { (if_statement "if (((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)) {\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }\n      else {\n        PVar30 = BlendPixelTrait;\n      }" if (parenthesized_expression "(((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20))" ( (binary_expression "((tga_info.attributes & 0xf) == 0) && (pIVar34 != (Image *)0x20)" (parenthesized_expression "((tga_info.attributes & 0xf) == 0)" ( (binary_expression "(tga_info.attributes & 0xf) == 0" (parenthesized_expression "(tga_info.attributes & 0xf)" ( (binary_expression "tga_info.attributes & 0xf" (field_expression "tga_info.attributes" identifier . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pIVar34 != (Image *)0x20)" ( (binary_expression "pIVar34 != (Image *)0x20" identifier != (cast_expression "(Image *)0x20" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        PVar30 = BlendPixelTrait;\n        if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }\n      }" { (expression_statement "PVar30 = BlendPixelTrait;" (assignment_expression "PVar30 = BlendPixelTrait" identifier = identifier) ;) (if_statement "if (tga_info.colormap_size != ' ') {\n          PVar30 = UndefinedPixelTrait;\n        }" if (parenthesized_expression "(tga_info.colormap_size != ' ')" ( (binary_expression "tga_info.colormap_size != ' '" (field_expression "tga_info.colormap_size" identifier . field_identifier) != (char_literal "' '" ' character ')) )) (compound_statement "{\n          PVar30 = UndefinedPixelTrait;\n        }" { (expression_statement "PVar30 = UndefinedPixelTrait;" (assignment_expression "PVar30 = UndefinedPixelTrait" identifier = identifier) ;) })) }) (else_clause "else {\n        PVar30 = BlendPixelTrait;\n      }" else (compound_statement "{\n        PVar30 = BlendPixelTrait;\n      }" { (expression_statement "PVar30 = BlendPixelTrait;" (assignment_expression "PVar30 = BlendPixelTrait" identifier = identifier) ;) }))) (expression_statement "pIVar7->alpha_trait = PVar30;" (assignment_expression "pIVar7->alpha_trait = PVar30" (field_expression "pIVar7->alpha_trait" identifier -> field_identifier) = identifier) ;) (if_statement "if (tga_info.image_type == TGAColormap) {\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }\n      else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }" if (parenthesized_expression "(tga_info.image_type == TGAColormap)" ( (binary_expression "tga_info.image_type == TGAColormap" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) )) (compound_statement "{\n        if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pIVar7->depth = 8;\n      }" { (if_statement "if ((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)) {\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }" if (parenthesized_expression "((8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11))" ( (binary_expression "(8 < tga_info.colormap_size) && (tga_info.colormap_size < 0x11)" (parenthesized_expression "(8 < tga_info.colormap_size)" ( (binary_expression "8 < tga_info.colormap_size" number_literal < (field_expression "tga_info.colormap_size" identifier . field_identifier)) )) && (parenthesized_expression "(tga_info.colormap_size < 0x11)" ( (binary_expression "tga_info.colormap_size < 0x11" (field_expression "tga_info.colormap_size" identifier . field_identifier) < number_literal) ))) )) (compound_statement "{\n          pIVar7->depth = 5;\n          pIVar7->storage_class = PseudoClass;\n          goto LAB_002b6bc4;\n        }" { (expression_statement "pIVar7->depth = 5;" (assignment_expression "pIVar7->depth = 5" (field_expression "pIVar7->depth" identifier -> field_identifier) = number_literal) ;) (expression_statement "pIVar7->storage_class = PseudoClass;" (assignment_expression "pIVar7->storage_class = PseudoClass" (field_expression "pIVar7->storage_class" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_002b6bc4;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6b10:\n        pIVar7->depth = 8;" statement_identifier : (expression_statement "pIVar7->depth = 8;" (assignment_expression "pIVar7->depth = 8" (field_expression "pIVar7->depth" identifier -> field_identifier) = number_literal) ;)) }) (else_clause "else {\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }" else (compound_statement "{\n        if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;\n        if (tga_info.colormap_size < 9) goto LAB_002b6b10;\n        if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }\n      }" { (if_statement "if (tga_info.image_type != TGARLEColormap) goto LAB_002b6bac;" if (parenthesized_expression "(tga_info.image_type != TGARLEColormap)" ( (binary_expression "tga_info.image_type != TGARLEColormap" (field_expression "tga_info.image_type" identifier . field_identifier) != identifier) )) (goto_statement "goto LAB_002b6bac;" goto statement_identifier ;)) (if_statement "if (tga_info.colormap_size < 9) goto LAB_002b6b10;" if (parenthesized_expression "(tga_info.colormap_size < 9)" ( (binary_expression "tga_info.colormap_size < 9" (field_expression "tga_info.colormap_size" identifier . field_identifier) < number_literal) )) (goto_statement "goto LAB_002b6b10;" goto statement_identifier ;)) (if_statement "if (tga_info.colormap_size < 0x11) {\n          pIVar7->depth = 5;\n        }\n        else {\n          pIVar7->depth = 8;\n        }" if (parenthesized_expression "(tga_info.colormap_size < 0x11)" ( (binary_expression "tga_info.colormap_size < 0x11" (field_expression "tga_info.colormap_size" identifier . field_identifier) < number_literal) )) (compound_statement "{\n          pIVar7->depth = 5;\n        }" { (expression_statement "pIVar7->depth = 5;" (assignment_expression "pIVar7->depth = 5" (field_expression "pIVar7->depth" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n          pIVar7->depth = 8;\n        }" else (compound_statement "{\n          pIVar7->depth = 8;\n        }" { (expression_statement "pIVar7->depth = 8;" (assignment_expression "pIVar7->depth = 8" (field_expression "pIVar7->depth" identifier -> field_identifier) = number_literal) ;) }))) }))) (expression_statement "pIVar7->storage_class = PseudoClass;" (assignment_expression "pIVar7->storage_class = PseudoClass" (field_expression "pIVar7->storage_class" identifier -> field_identifier) = identifier) ;) }))) (labeled_statement "LAB_002b6bc4:\n    if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }" statement_identifier : (if_statement "if ((tga_info.image_type & 0xfffffff7) == TGAMonochrome) {\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }\n    else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }" if (parenthesized_expression "((tga_info.image_type & 0xfffffff7) == TGAMonochrome)" ( (binary_expression "(tga_info.image_type & 0xfffffff7) == TGAMonochrome" (parenthesized_expression "(tga_info.image_type & 0xfffffff7)" ( (binary_expression "tga_info.image_type & 0xfffffff7" (field_expression "tga_info.image_type" identifier . field_identifier) & number_literal) )) == identifier) )) (compound_statement "{\n      pIVar7->type = GrayscaleType;\n      pIVar7->compression = NoCompression;\n      pIVar7->colorspace = GRAYColorspace;\n      if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;\nLAB_002b7100:\n      pIVar7->compression = RLECompression;\n    }" { (expression_statement "pIVar7->type = GrayscaleType;" (assignment_expression "pIVar7->type = GrayscaleType" (field_expression "pIVar7->type" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar7->compression = NoCompression;" (assignment_expression "pIVar7->compression = NoCompression" (field_expression "pIVar7->compression" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar7->colorspace = GRAYColorspace;" (assignment_expression "pIVar7->colorspace = GRAYColorspace" (field_expression "pIVar7->colorspace" identifier -> field_identifier) = identifier) ;) (if_statement "if ((tga_info.image_type & ~TGARGB) != TGARLEColormap) goto LAB_002b6be8;" if (parenthesized_expression "((tga_info.image_type & ~TGARGB) != TGARLEColormap)" ( (binary_expression "(tga_info.image_type & ~TGARGB) != TGARLEColormap" (parenthesized_expression "(tga_info.image_type & ~TGARGB)" ( (binary_expression "tga_info.image_type & ~TGARGB" (field_expression "tga_info.image_type" identifier . field_identifier) & (unary_expression "~TGARGB" ~ identifier)) )) != identifier) )) (goto_statement "goto LAB_002b6be8;" goto statement_identifier ;)) (labeled_statement "LAB_002b7100:\n      pIVar7->compression = RLECompression;" statement_identifier : (expression_statement "pIVar7->compression = RLECompression;" (assignment_expression "pIVar7->compression = RLECompression" (field_expression "pIVar7->compression" identifier -> field_identifier) = identifier) ;)) }) (else_clause "else {\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }" else (compound_statement "{\n      pIVar7->compression = NoCompression;\n      if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;\nLAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;\n    }" { (expression_statement "pIVar7->compression = NoCompression;" (assignment_expression "pIVar7->compression = NoCompression" (field_expression "pIVar7->compression" identifier -> field_identifier) = identifier) ;) (if_statement "if (tga_info.image_type == TGARLEColormap) goto LAB_002b7100;" if (parenthesized_expression "(tga_info.image_type == TGARLEColormap)" ( (binary_expression "tga_info.image_type == TGARLEColormap" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) )) (goto_statement "goto LAB_002b7100;" goto statement_identifier ;)) (labeled_statement "LAB_002b6be8:\n      if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;" statement_identifier : (if_statement "if (tga_info.image_type == TGARLERGB) goto LAB_002b7100;" if (parenthesized_expression "(tga_info.image_type == TGARLERGB)" ( (binary_expression "tga_info.image_type == TGARLERGB" (field_expression "tga_info.image_type" identifier . field_identifier) == identifier) )) (goto_statement "goto LAB_002b7100;" goto statement_identifier ;))) })))) (expression_statement "puVar9 = PTR_GetBlobSize_003a94b8;" (assignment_expression "puVar9 = PTR_GetBlobSize_003a94b8" identifier = identifier) ;) (expression_statement "pEVar36 = (ExceptionInfo *)tga_info.image_type;" (assignment_expression "pEVar36 = (ExceptionInfo *)tga_info.image_type" identifier = (cast_expression "(ExceptionInfo *)tga_info.image_type" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "tga_info.image_type" identifier . field_identifier))) ;) (if_statement "if (pIVar7->storage_class == PseudoClass) {\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }" if (parenthesized_expression "(pIVar7->storage_class == PseudoClass)" ( (binary_expression "pIVar7->storage_class == PseudoClass" (field_expression "pIVar7->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }\n      uVar19 = 1 << ((uint)pIVar34 & 0x1f);\n      pIVar7->colors = uVar19;\n      uVar80 = (*(code *)puVar9)(pIVar7);\n      if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar38 = 0x11a;\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar17 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);\n      goto LAB_002b6944;\n    }" { (if_statement "if (tga_info.colormap_type != '\0') {\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }" if (parenthesized_expression "(tga_info.colormap_type != '\0')" ( (binary_expression "tga_info.colormap_type != '\0'" (field_expression "tga_info.colormap_type" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;\n        goto LAB_002b6c00;\n      }" { (expression_statement "pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length;" (assignment_expression "pIVar7->colors = (uint)tga_info.colormap_index + (uint)tga_info.colormap_length" (field_expression "pIVar7->colors" identifier -> field_identifier) = (binary_expression "(uint)tga_info.colormap_index + (uint)tga_info.colormap_length" (cast_expression "(uint)tga_info.colormap_index" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.colormap_index" identifier . field_identifier)) + (cast_expression "(uint)tga_info.colormap_length" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.colormap_length" identifier . field_identifier)))) ;) (goto_statement "goto LAB_002b6c00;" goto statement_identifier ;) })) (expression_statement "uVar19 = 1 << ((uint)pIVar34 & 0x1f);" (assignment_expression "uVar19 = 1 << ((uint)pIVar34 & 0x1f)" identifier = (binary_expression "1 << ((uint)pIVar34 & 0x1f)" number_literal << (parenthesized_expression "((uint)pIVar34 & 0x1f)" ( (binary_expression "(uint)pIVar34 & 0x1f" (cast_expression "(uint)pIVar34" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "pIVar7->colors = uVar19;" (assignment_expression "pIVar7->colors = uVar19" (field_expression "pIVar7->colors" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar80 = (*(code *)puVar9)(pIVar7);" (assignment_expression "uVar80 = (*(code *)puVar9)(pIVar7)" identifier = (call_expression "(*(code *)puVar9)(pIVar7)" (parenthesized_expression "(*(code *)puVar9)" ( (pointer_expression "*(code *)puVar9" * (cast_expression "(code *)puVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)) {\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80))" ( (binary_expression "((int)((ulonglong)uVar80 >> 0x20) != 0) || (uVar19 <= (uint)uVar80)" (parenthesized_expression "((int)((ulonglong)uVar80 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar80 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar80 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar80 >> 0x20)" ( (binary_expression "(ulonglong)uVar80 >> 0x20" (cast_expression "(ulonglong)uVar80" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(uVar19 <= (uint)uVar80)" ( (binary_expression "uVar19 <= (uint)uVar80" identifier <= (cast_expression "(uint)uVar80" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n        pIVar34 = (Image *)pIVar7->colors;\n        pEVar36 = exception;\n        iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);\n        if (iVar8 != 0) goto LAB_002b6c00;\n        uVar38 = 0x11c;\n        goto LAB_002b7224;\n      }" { (expression_statement "pIVar34 = (Image *)pIVar7->colors;" (assignment_expression "pIVar34 = (Image *)pIVar7->colors" identifier = (cast_expression "(Image *)pIVar7->colors" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->colors" identifier -> field_identifier))) ;) (expression_statement "pEVar36 = exception;" (assignment_expression "pEVar36 = exception" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7);" (assignment_expression "iVar8 = (*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7)" identifier = (call_expression "(*(code *)PTR_AcquireImageColormap_003a9194)(pIVar7)" (parenthesized_expression "(*(code *)PTR_AcquireImageColormap_003a9194)" ( (pointer_expression "*(code *)PTR_AcquireImageColormap_003a9194" * (cast_expression "(code *)PTR_AcquireImageColormap_003a9194" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) goto LAB_002b6c00;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002b6c00;" goto statement_identifier ;)) (expression_statement "uVar38 = 0x11c;" (assignment_expression "uVar38 = 0x11c" identifier = number_literal) ;) (goto_statement "goto LAB_002b7224;" goto statement_identifier ;) })) (expression_statement "uVar38 = 0x11a;" (assignment_expression "uVar38 = 0x11a" identifier = number_literal) ;) (expression_statement "puVar9 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar9 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar16 = PTR_s_courses_003a88ec + 0x4a0;" (assignment_expression "puVar16 = PTR_s_courses_003a88ec + 0x4a0" identifier = (binary_expression "PTR_s_courses_003a88ec + 0x4a0" identifier + number_literal)) ;) (expression_statement "uVar17 = 0x1a9;" (assignment_expression "uVar17 = 0x1a9" identifier = number_literal) ;) (labeled_statement "LAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);" statement_identifier : (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,pIVar34,pEVar36,uVar38,uVar17,puVar16,puVar9,image_info->filename)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;)) (goto_statement "goto LAB_002b6944;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6c00:\n    pIVar54 = (Image *)(uint)tga_info.id_length;" statement_identifier : (expression_statement "pIVar54 = (Image *)(uint)tga_info.id_length;" (assignment_expression "pIVar54 = (Image *)(uint)tga_info.id_length" identifier = (cast_expression "(Image *)(uint)tga_info.id_length" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)tga_info.id_length" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.id_length" identifier . field_identifier)))) ;)) (if_statement "if (pIVar54 != (Image *)0x0) {\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }" if (parenthesized_expression "(pIVar54 != (Image *)0x0)" ( (binary_expression "pIVar54 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);\n      if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }\n      uVar38 = 0x130;\nLAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n      pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar16 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar17 = 400;\n      goto LAB_002b725c;\n    }" { (expression_statement "pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1);" (assignment_expression "pEVar13 = (ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1)" identifier = (cast_expression "(ExceptionInfo *)\n                (*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(pIVar54->filename + 0xcc0,1)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" ( (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" * (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar54->filename + 0xcc0,1)" ( (binary_expression "pIVar54->filename + 0xcc0" (field_expression "pIVar54->filename" identifier -> field_identifier) + number_literal) , number_literal ))))) ;) (if_statement "if (pEVar13 != (ExceptionInfo *)0x0) {\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }" if (parenthesized_expression "(pEVar13 != (ExceptionInfo *)0x0)" ( (binary_expression "pEVar13 != (ExceptionInfo *)0x0" identifier != (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pIVar34 = pIVar54;\n        pEVar36 = pEVar13;\n        pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);\n        puVar9 = PTR_SetImageProperty_003a9534;\n        if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pEVar13);\n        goto LAB_002b6c0c;\n      }" { (expression_statement "pIVar34 = pIVar54;" (assignment_expression "pIVar34 = pIVar54" identifier = identifier) ;) (expression_statement "pEVar36 = pEVar13;" (assignment_expression "pEVar36 = pEVar13" identifier = identifier) ;) (expression_statement "pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7);" (assignment_expression "pIVar14 = (Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7)" identifier = (cast_expression "(Image *)(*(code *)PTR_ReadBlob_003a8dac)(pIVar7)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier ))))) ;) (expression_statement "puVar9 = PTR_SetImageProperty_003a9534;" (assignment_expression "puVar9 = PTR_SetImageProperty_003a9534" identifier = identifier) ;) (if_statement "if (pIVar54 == pIVar14) {\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }" if (parenthesized_expression "(pIVar54 == pIVar14)" ( (binary_expression "pIVar54 == pIVar14" identifier == identifier) )) (compound_statement "{\n          pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;\n          pEVar36 = pEVar13;\n          (*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);\n        }" { (expression_statement "pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" identifier = (cast_expression "(Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0;" (assignment_expression "*(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity) = 0" (pointer_expression "*(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity)" * (cast_expression "(undefined1 *)((int)&pIVar54->storage_class + (int)&pEVar13->severity)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar54->storage_class + (int)&pEVar13->severity)" ( (binary_expression "(int)&pIVar54->storage_class + (int)&pEVar13->severity" (cast_expression "(int)&pIVar54->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar54->storage_class" & (field_expression "pIVar54->storage_class" identifier -> field_identifier))) + (cast_expression "(int)&pEVar13->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar13->severity" & (field_expression "pEVar13->severity" identifier -> field_identifier)))) )))) = number_literal) ;) (expression_statement "pEVar36 = pEVar13;" (assignment_expression "pEVar36 = pEVar13" identifier = identifier) ;) (expression_statement "(*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception);" (call_expression "(*(code *)puVar9)(pIVar7,pIVar34,pEVar13,exception)" (parenthesized_expression "(*(code *)puVar9)" ( (pointer_expression "*(code *)puVar9" * (cast_expression "(code *)puVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,pIVar34,pEVar13,exception)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(pEVar13);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(pEVar13)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar13)" ( identifier ))) ;) (goto_statement "goto LAB_002b6c0c;" goto statement_identifier ;) })) (expression_statement "uVar38 = 0x130;" (assignment_expression "uVar38 = 0x130" identifier = number_literal) ;) (labeled_statement "LAB_002b7224:\n      puVar9 = PTR_LAB_003a88e0 + 0x3e28;" statement_identifier : (expression_statement "puVar9 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar9 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;)) (expression_statement "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar16 = PTR_LAB_003a88e0 + 0x16f8;" (assignment_expression "puVar16 = PTR_LAB_003a88e0 + 0x16f8" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal)) ;) (expression_statement "uVar17 = 400;" (assignment_expression "uVar17 = 400" identifier = number_literal) ;) (goto_statement "goto LAB_002b725c;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6c0c:\n    pIVar7->orientation = BottomLeftOrientation;" statement_identifier : (expression_statement "pIVar7->orientation = BottomLeftOrientation;" (assignment_expression "pIVar7->orientation = BottomLeftOrientation" (field_expression "pIVar7->orientation" identifier -> field_identifier) = identifier) ;)) (if_statement "if ((tga_info.attributes & 0x10) == 0) {\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }\n    else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }" if (parenthesized_expression "((tga_info.attributes & 0x10) == 0)" ( (binary_expression "(tga_info.attributes & 0x10) == 0" (parenthesized_expression "(tga_info.attributes & 0x10)" ( (binary_expression "tga_info.attributes & 0x10" (field_expression "tga_info.attributes" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }\n    }" { (if_statement "if ((tga_info.attributes & 0x20) != 0) {\n        pIVar7->orientation = TopLeftOrientation;\n      }" if (parenthesized_expression "((tga_info.attributes & 0x20) != 0)" ( (binary_expression "(tga_info.attributes & 0x20) != 0" (parenthesized_expression "(tga_info.attributes & 0x20)" ( (binary_expression "tga_info.attributes & 0x20" (field_expression "tga_info.attributes" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        pIVar7->orientation = TopLeftOrientation;\n      }" { (expression_statement "pIVar7->orientation = TopLeftOrientation;" (assignment_expression "pIVar7->orientation = TopLeftOrientation" (field_expression "pIVar7->orientation" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }" else (if_statement "if ((tga_info.attributes & 0x20) == 0) {\n      pIVar7->orientation = BottomRightOrientation;\n    }\n    else {\n      pIVar7->orientation = TopRightOrientation;\n    }" if (parenthesized_expression "((tga_info.attributes & 0x20) == 0)" ( (binary_expression "(tga_info.attributes & 0x20) == 0" (parenthesized_expression "(tga_info.attributes & 0x20)" ( (binary_expression "tga_info.attributes & 0x20" (field_expression "tga_info.attributes" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pIVar7->orientation = BottomRightOrientation;\n    }" { (expression_statement "pIVar7->orientation = BottomRightOrientation;" (assignment_expression "pIVar7->orientation = BottomRightOrientation" (field_expression "pIVar7->orientation" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n      pIVar7->orientation = TopRightOrientation;\n    }" else (compound_statement "{\n      pIVar7->orientation = TopRightOrientation;\n    }" { (expression_statement "pIVar7->orientation = TopRightOrientation;" (assignment_expression "pIVar7->orientation = TopRightOrientation" (field_expression "pIVar7->orientation" identifier -> field_identifier) = identifier) ;) }))))) (if_statement "if (image_info->ping == MagickFalse) {\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }" if (parenthesized_expression "(image_info->ping == MagickFalse)" ( (binary_expression "image_info->ping == MagickFalse" (field_expression "image_info->ping" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      pEVar36 = (ExceptionInfo *)pIVar7->rows;\n      pIVar34 = (Image *)pIVar7->columns;\n      iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);\n      puVar9 = PTR_LAB_003a88e0;\n      if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }\n    }" { (expression_statement "pEVar36 = (ExceptionInfo *)pIVar7->rows;" (assignment_expression "pEVar36 = (ExceptionInfo *)pIVar7->rows" identifier = (cast_expression "(ExceptionInfo *)pIVar7->rows" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->rows" identifier -> field_identifier))) ;) (expression_statement "pIVar34 = (Image *)pIVar7->columns;" (assignment_expression "pIVar34 = (Image *)pIVar7->columns" identifier = (cast_expression "(Image *)pIVar7->columns" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->columns" identifier -> field_identifier))) ;) (expression_statement "iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception);" (assignment_expression "iVar8 = (*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception)" identifier = (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(pIVar7,pIVar34,pEVar36,exception)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" ( (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" * (cast_expression "(code *)PTR_SetImageExtent_003a94ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,pIVar34,pEVar36,exception)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "puVar9 = PTR_LAB_003a88e0;" (assignment_expression "puVar9 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (iVar8 == 0) {\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }\n      else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n      }" { (expression_statement "pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);" (assignment_expression "pIVar54 = (Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7)" identifier = (cast_expression "(Image *)(*(code *)PTR_DestroyImageList_003a9510)(pIVar7)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pIVar7)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier ))))) ;) }) (else_clause "else {\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }" else (compound_statement "{\n        pEVar36 = (ExceptionInfo *)0x58;\n        pIVar34 = (Image *)0x0;\n        (*(code *)PTR_memset_003a96d4)(&pixel);\n        puVar16 = PTR_AcquireImageColormap_003a9194;\n        pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);\n        if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }\n        puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        runlength = '\0';\n        if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }\n        iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);\n        if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n        pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);\n      }" { (expression_statement "pEVar36 = (ExceptionInfo *)0x58;" (assignment_expression "pEVar36 = (ExceptionInfo *)0x58" identifier = (cast_expression "(ExceptionInfo *)0x58" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIVar34 = (Image *)0x0;" (assignment_expression "pIVar34 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(&pixel);" (call_expression "(*(code *)PTR_memset_003a96d4)(&pixel)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pixel)" ( (pointer_expression "&pixel" & identifier) ))) ;) (expression_statement "puVar16 = PTR_AcquireImageColormap_003a9194;" (assignment_expression "puVar16 = PTR_AcquireImageColormap_003a9194" identifier = identifier) ;) (expression_statement "pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58);" (assignment_expression "pixel.alpha = *(MagickRealType *)(puVar9 + 0x1a58)" (field_expression "pixel.alpha" identifier . field_identifier) = (pointer_expression "*(MagickRealType *)(puVar9 + 0x1a58)" * (cast_expression "(MagickRealType *)(puVar9 + 0x1a58)" ( (type_descriptor "MagickRealType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x1a58)" ( (binary_expression "puVar9 + 0x1a58" identifier + number_literal) ))))) ;) (if_statement "if (tga_info.colormap_type != '\0') {\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }" if (parenthesized_expression "(tga_info.colormap_type != '\0')" ( (binary_expression "tga_info.colormap_type != '\0'" (field_expression "tga_info.colormap_type" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pIVar54 = (Image *)(uint)tga_info.colormap_index;\n          pIVar34 = (Image *)pIVar7->colors;\n          if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }\n          pEVar36 = exception;\n          iVar8 = (*(code *)puVar16)(pIVar7);\n          if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar19 = (uint)tga_info.colormap_index;\n          if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }\n          if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }\n        }" { (expression_statement "pIVar54 = (Image *)(uint)tga_info.colormap_index;" (assignment_expression "pIVar54 = (Image *)(uint)tga_info.colormap_index" identifier = (cast_expression "(Image *)(uint)tga_info.colormap_index" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)tga_info.colormap_index" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.colormap_index" identifier . field_identifier)))) ;) (expression_statement "pIVar34 = (Image *)pIVar7->colors;" (assignment_expression "pIVar34 = (Image *)pIVar7->colors" identifier = (cast_expression "(Image *)pIVar7->colors" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->colors" identifier -> field_identifier))) ;) (if_statement "if ((Image *)pIVar7->colors < pIVar54) {\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }" if (parenthesized_expression "((Image *)pIVar7->colors < pIVar54)" ( (binary_expression "(Image *)pIVar7->colors < pIVar54" (cast_expression "(Image *)pIVar7->colors" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->colors" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n            pIVar7->colors = (size_t)pIVar54;\n            pIVar34 = pIVar54;\n          }" { (expression_statement "pIVar7->colors = (size_t)pIVar54;" (assignment_expression "pIVar7->colors = (size_t)pIVar54" (field_expression "pIVar7->colors" identifier -> field_identifier) = (cast_expression "(size_t)pIVar54" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "pIVar34 = pIVar54;" (assignment_expression "pIVar34 = pIVar54" identifier = identifier) ;) })) (expression_statement "pEVar36 = exception;" (assignment_expression "pEVar36 = exception" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)puVar16)(pIVar7);" (assignment_expression "iVar8 = (*(code *)puVar16)(pIVar7)" identifier = (call_expression "(*(code *)puVar16)(pIVar7)" (parenthesized_expression "(*(code *)puVar16)" ( (pointer_expression "*(code *)puVar16" * (cast_expression "(code *)puVar16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iVar8 == 0) {\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar38 = 0x15a;\n            goto LAB_002b7224;\n          }" { (expression_statement "uVar38 = 0x15a;" (assignment_expression "uVar38 = 0x15a" identifier = number_literal) ;) (goto_statement "goto LAB_002b7224;" goto statement_identifier ;) })) (expression_statement "uVar19 = (uint)tga_info.colormap_index;" (assignment_expression "uVar19 = (uint)tga_info.colormap_index" identifier = (cast_expression "(uint)tga_info.colormap_index" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.colormap_index" identifier . field_identifier))) ;) (if_statement "if (uVar19 != 0) {\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n            pPVar31 = pIVar7->colormap;\n            pPVar46 = pPVar31 + uVar19;\n            pPVar57 = &pixel;\n            pPVar15 = pPVar31;\n            do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);\n          }" { (expression_statement "pPVar31 = pIVar7->colormap;" (assignment_expression "pPVar31 = pIVar7->colormap" identifier = (field_expression "pIVar7->colormap" identifier -> field_identifier)) ;) (expression_statement "pPVar46 = pPVar31 + uVar19;" (assignment_expression "pPVar46 = pPVar31 + uVar19" identifier = (binary_expression "pPVar31 + uVar19" identifier + identifier)) ;) (expression_statement "pPVar57 = &pixel;" (assignment_expression "pPVar57 = &pixel" identifier = (pointer_expression "&pixel" & identifier)) ;) (expression_statement "pPVar15 = pPVar31;" (assignment_expression "pPVar15 = pPVar31" identifier = identifier) ;) (do_statement "do {\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            } while (pPVar46 != pPVar31);" do (compound_statement "{\n              do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);\n              pPVar31 = pPVar31 + 1;\n              *(Image **)&pPVar25->fuzz = pixel.index._0_4_;\n              *(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;\n              pPVar57 = &pixel;\n              pPVar15 = pPVar31;\n              pIVar34 = pixel.index._0_4_;\n            }" { (do_statement "do {\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              } while (pdVar10 != &pixel.index);" do (compound_statement "{\n                pPVar25 = pPVar15;\n                pdVar10 = &pPVar57->fuzz;\n                CVar39 = pPVar57->colorspace;\n                pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;\n                uVar38 = *(undefined4 *)&pPVar57->field_0xc;\n                pPVar25->storage_class = pPVar57->storage_class;\n                pPVar25->colorspace = CVar39;\n                pPVar25->alpha_trait = (PixelTrait)pEVar36;\n                *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                pPVar57 = (PixelInfo *)pdVar10;\n                pPVar15 = (PixelInfo *)&pPVar25->fuzz;\n              }" { (expression_statement "pPVar25 = pPVar15;" (assignment_expression "pPVar25 = pPVar15" identifier = identifier) ;) (expression_statement "pdVar10 = &pPVar57->fuzz;" (assignment_expression "pdVar10 = &pPVar57->fuzz" identifier = (pointer_expression "&pPVar57->fuzz" & (field_expression "pPVar57->fuzz" identifier -> field_identifier))) ;) (expression_statement "CVar39 = pPVar57->colorspace;" (assignment_expression "CVar39 = pPVar57->colorspace" identifier = (field_expression "pPVar57->colorspace" identifier -> field_identifier)) ;) (expression_statement "pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait;" (assignment_expression "pEVar36 = (ExceptionInfo *)pPVar57->alpha_trait" identifier = (cast_expression "(ExceptionInfo *)pPVar57->alpha_trait" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPVar57->alpha_trait" identifier -> field_identifier))) ;) (expression_statement "uVar38 = *(undefined4 *)&pPVar57->field_0xc;" (assignment_expression "uVar38 = *(undefined4 *)&pPVar57->field_0xc" identifier = (pointer_expression "*(undefined4 *)&pPVar57->field_0xc" * (cast_expression "(undefined4 *)&pPVar57->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar57->field_0xc" & (field_expression "pPVar57->field_0xc" identifier -> field_identifier))))) ;) (expression_statement "pPVar25->storage_class = pPVar57->storage_class;" (assignment_expression "pPVar25->storage_class = pPVar57->storage_class" (field_expression "pPVar25->storage_class" identifier -> field_identifier) = (field_expression "pPVar57->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar25->colorspace = CVar39;" (assignment_expression "pPVar25->colorspace = CVar39" (field_expression "pPVar25->colorspace" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar25->alpha_trait = (PixelTrait)pEVar36;" (assignment_expression "pPVar25->alpha_trait = (PixelTrait)pEVar36" (field_expression "pPVar25->alpha_trait" identifier -> field_identifier) = (cast_expression "(PixelTrait)pEVar36" ( (type_descriptor "PixelTrait" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)&pPVar25->field_0xc = uVar38;" (assignment_expression "*(undefined4 *)&pPVar25->field_0xc = uVar38" (pointer_expression "*(undefined4 *)&pPVar25->field_0xc" * (cast_expression "(undefined4 *)&pPVar25->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar25->field_0xc" & (field_expression "pPVar25->field_0xc" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pPVar57 = (PixelInfo *)pdVar10;" (assignment_expression "pPVar57 = (PixelInfo *)pdVar10" identifier = (cast_expression "(PixelInfo *)pdVar10" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pPVar15 = (PixelInfo *)&pPVar25->fuzz;" (assignment_expression "pPVar15 = (PixelInfo *)&pPVar25->fuzz" identifier = (cast_expression "(PixelInfo *)&pPVar25->fuzz" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar25->fuzz" & (field_expression "pPVar25->fuzz" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(pdVar10 != &pixel.index)" ( (binary_expression "pdVar10 != &pixel.index" identifier != (pointer_expression "&pixel.index" & (field_expression "pixel.index" identifier . field_identifier))) )) ;) (expression_statement "pPVar31 = pPVar31 + 1;" (assignment_expression "pPVar31 = pPVar31 + 1" identifier = (binary_expression "pPVar31 + 1" identifier + number_literal)) ;) (expression_statement "*(Image **)&pPVar25->fuzz = pixel.index._0_4_;" (assignment_expression "*(Image **)&pPVar25->fuzz = pixel.index._0_4_" (pointer_expression "*(Image **)&pPVar25->fuzz" * (cast_expression "(Image **)&pPVar25->fuzz" ( (type_descriptor "Image **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pPVar25->fuzz" & (field_expression "pPVar25->fuzz" identifier -> field_identifier)))) = (field_expression "pixel.index._0_4_" (field_expression "pixel.index" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_;" (assignment_expression "*(ClassType *)((int)&pPVar25->fuzz + 4) = pixel.index._4_4_" (pointer_expression "*(ClassType *)((int)&pPVar25->fuzz + 4)" * (cast_expression "(ClassType *)((int)&pPVar25->fuzz + 4)" ( (type_descriptor "ClassType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar25->fuzz + 4)" ( (binary_expression "(int)&pPVar25->fuzz + 4" (cast_expression "(int)&pPVar25->fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar25->fuzz" & (field_expression "pPVar25->fuzz" identifier -> field_identifier))) + number_literal) )))) = (field_expression "pixel.index._4_4_" (field_expression "pixel.index" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pPVar57 = &pixel;" (assignment_expression "pPVar57 = &pixel" identifier = (pointer_expression "&pixel" & identifier)) ;) (expression_statement "pPVar15 = pPVar31;" (assignment_expression "pPVar15 = pPVar31" identifier = identifier) ;) (expression_statement "pIVar34 = pixel.index._0_4_;" (assignment_expression "pIVar34 = pixel.index._0_4_" identifier = (field_expression "pixel.index._0_4_" (field_expression "pixel.index" identifier . field_identifier) . field_identifier)) ;) }) while (parenthesized_expression "(pPVar46 != pPVar31)" ( (binary_expression "pPVar46 != pPVar31" identifier != identifier) )) ;) })) (if_statement "if ((int)uVar19 < (int)pIVar7->colors) {\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }" if (parenthesized_expression "((int)uVar19 < (int)pIVar7->colors)" ( (binary_expression "(int)uVar19 < (int)pIVar7->colors" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pIVar7->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->colors" identifier -> field_identifier))) )) (compound_statement "{\n            iVar8 = uVar19 * 0x58;\n            dVar75 = *(double *)(puVar9 + 0x1a58);\n            dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar77 = dVar70;\n            dVar79 = dVar70;\n            do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);\n          }" { (expression_statement "iVar8 = uVar19 * 0x58;" (assignment_expression "iVar8 = uVar19 * 0x58" identifier = (binary_expression "uVar19 * 0x58" identifier * number_literal)) ;) (expression_statement "dVar75 = *(double *)(puVar9 + 0x1a58);" (assignment_expression "dVar75 = *(double *)(puVar9 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar9 + 0x1a58)" * (cast_expression "(double *)(puVar9 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x1a58)" ( (binary_expression "puVar9 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar70 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar72 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" identifier = (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" * (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "dVar77 = dVar70;" (assignment_expression "dVar77 = dVar70" identifier = identifier) ;) (expression_statement "dVar79 = dVar70;" (assignment_expression "dVar79 = dVar70" identifier = identifier) ;) (do_statement "do {\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            } while ((int)uVar19 < (int)pIVar7->colors);" do (compound_statement "{\n              uVar44 = (uint)tga_info.colormap_size;\n              if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }\n              pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);\n              pPVar57 = &pixel;\n              do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);\n              uVar19 = uVar19 + 1;\n              pCVar11[4] = (ClassType)pixel.index._0_4_;\n              pCVar11[5] = pixel.index._4_4_;\n              iVar8 = iVar8 + 0x58;\n            }" { (expression_statement "uVar44 = (uint)tga_info.colormap_size;" (assignment_expression "uVar44 = (uint)tga_info.colormap_size" identifier = (cast_expression "(uint)tga_info.colormap_size" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.colormap_size" identifier . field_identifier))) ;) (if_statement "if (uVar44 == 0x18) {\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }\n              else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }" if (parenthesized_expression "(uVar44 == 0x18)" ( (binary_expression "uVar44 == 0x18" identifier == number_literal) )) (compound_statement "{\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (double)(float)((double)bVar42 * dVar70);\n              }" { (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70);" (assignment_expression "pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar70)" (field_expression "pixel.blue" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)bVar42 * dVar70)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)bVar42 * dVar70)" ( (binary_expression "(double)bVar42 * dVar70" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70);" (assignment_expression "pixel.green = (MagickRealType)(float)((double)bVar42 * dVar70)" (field_expression "pixel.green" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)bVar42 * dVar70)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)bVar42 * dVar70)" ( (binary_expression "(double)bVar42 * dVar70" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.red = (double)(float)((double)bVar42 * dVar70);" (assignment_expression "pixel.red = (double)(float)((double)bVar42 * dVar70)" (field_expression "pixel.red" identifier . field_identifier) = (cast_expression "(double)(float)((double)bVar42 * dVar70)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar42 * dVar70)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar42 * dVar70)" ( (binary_expression "(double)bVar42 * dVar70" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) }) (else_clause "else if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }" else (if_statement "if (uVar44 < 0x19) {\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }\n              else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }" if (parenthesized_expression "(uVar44 < 0x19)" ( (binary_expression "uVar44 < 0x19" identifier < number_literal) )) (compound_statement "{\n                if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }\n              }" { (if_statement "if (uVar44 - 0xf < 2) {\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }\n                else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }" if (parenthesized_expression "(uVar44 - 0xf < 2)" ( (binary_expression "uVar44 - 0xf < 2" (binary_expression "uVar44 - 0xf" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);\n                  pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);\n                  pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);\n                }" { (expression_statement "uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "uVar44 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "uVar59 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75);" (assignment_expression "pixel.red = (double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75)" (field_expression "pixel.red" identifier . field_identifier) = (cast_expression "(double)(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75)" ( (binary_expression "(double)((uVar59 << 0x19) >> 0x1b) * dVar72 * dVar75" (binary_expression "(double)((uVar59 << 0x19) >> 0x1b) * dVar72" (cast_expression "(double)((uVar59 << 0x19) >> 0x1b)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar59 << 0x19) >> 0x1b)" ( (binary_expression "(uVar59 << 0x19) >> 0x1b" (parenthesized_expression "(uVar59 << 0x19)" ( (binary_expression "uVar59 << 0x19" identifier << number_literal) )) >> number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75);" (assignment_expression "pixel.blue = (double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75)" (field_expression "pixel.blue" identifier . field_identifier) = (cast_expression "(double)(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)(uVar44 & 0x1f) * dVar72 * dVar75)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(uVar44 & 0x1f) * dVar72 * dVar75)" ( (binary_expression "(double)(uVar44 & 0x1f) * dVar72 * dVar75" (binary_expression "(double)(uVar44 & 0x1f) * dVar72" (cast_expression "(double)(uVar44 & 0x1f)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(uVar44 & 0x1f)" ( (binary_expression "uVar44 & 0x1f" identifier & number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75);" (assignment_expression "pixel.green = (double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75)" (field_expression "pixel.green" identifier . field_identifier) = (cast_expression "(double)(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75)" ( (binary_expression "(double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72 * dVar75" (binary_expression "(double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))\n                                                * dVar72" (cast_expression "(double)((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5))" ( (binary_expression "(uVar59 & 3) * 8 + ((uVar44 & 0xff) >> 5)" (binary_expression "(uVar59 & 3) * 8" (parenthesized_expression "(uVar59 & 3)" ( (binary_expression "uVar59 & 3" identifier & number_literal) )) * number_literal) + (parenthesized_expression "((uVar44 & 0xff) >> 5)" ( (binary_expression "(uVar44 & 0xff) >> 5" (parenthesized_expression "(uVar44 & 0xff)" ( (binary_expression "uVar44 & 0xff" identifier & number_literal) )) >> number_literal) ))) ))) * identifier) * identifier) ))))) ;) }) (else_clause "else {\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }" else (compound_statement "{\nLAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                  pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);\n                  pixel.green = pixel.red;\n                  pixel.blue = pixel.red;\n                }" { (labeled_statement "LAB_002b7684:\n                  bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" statement_identifier : (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;)) (expression_statement "pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79);" (assignment_expression "pixel.red = (MagickRealType)(float)((double)bVar42 * dVar79)" (field_expression "pixel.red" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)bVar42 * dVar79)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)bVar42 * dVar79)" ( (binary_expression "(double)bVar42 * dVar79" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "pixel.green = pixel.red;" (assignment_expression "pixel.green = pixel.red" (field_expression "pixel.green" identifier . field_identifier) = (field_expression "pixel.red" identifier . field_identifier)) ;) (expression_statement "pixel.blue = pixel.red;" (assignment_expression "pixel.blue = pixel.red" (field_expression "pixel.blue" identifier . field_identifier) = (field_expression "pixel.red" identifier . field_identifier)) ;) }))) }) (else_clause "else {\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }" else (compound_statement "{\n                if (uVar44 != 0x20) goto LAB_002b7684;\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);\n                bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);\n                pixel.alpha = (double)(float)((double)bVar42 * dVar77);\n              }" { (if_statement "if (uVar44 != 0x20) goto LAB_002b7684;" if (parenthesized_expression "(uVar44 != 0x20)" ( (binary_expression "uVar44 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_002b7684;" goto statement_identifier ;)) (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77);" (assignment_expression "pixel.blue = (MagickRealType)(float)((double)bVar42 * dVar77)" (field_expression "pixel.blue" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)bVar42 * dVar77)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)bVar42 * dVar77)" ( (binary_expression "(double)bVar42 * dVar77" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77);" (assignment_expression "pixel.green = (MagickRealType)(float)((double)bVar42 * dVar77)" (field_expression "pixel.green" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)bVar42 * dVar77)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)bVar42 * dVar77)" ( (binary_expression "(double)bVar42 * dVar77" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77);" (assignment_expression "pixel.red = (MagickRealType)(float)((double)bVar42 * dVar77)" (field_expression "pixel.red" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)bVar42 * dVar77)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)bVar42 * dVar77)" ( (binary_expression "(double)bVar42 * dVar77" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7);" (assignment_expression "bVar42 = (*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pIVar7)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (expression_statement "pixel.alpha = (double)(float)((double)bVar42 * dVar77);" (assignment_expression "pixel.alpha = (double)(float)((double)bVar42 * dVar77)" (field_expression "pixel.alpha" identifier . field_identifier) = (cast_expression "(double)(float)((double)bVar42 * dVar77)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar42 * dVar77)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar42 * dVar77)" ( (binary_expression "(double)bVar42 * dVar77" (cast_expression "(double)bVar42" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) }))))) (expression_statement "pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8);" (assignment_expression "pCVar4 = (ClassType *)((int)&pIVar7->colormap->storage_class + iVar8)" identifier = (cast_expression "(ClassType *)((int)&pIVar7->colormap->storage_class + iVar8)" ( (type_descriptor "ClassType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pIVar7->colormap->storage_class + iVar8)" ( (binary_expression "(int)&pIVar7->colormap->storage_class + iVar8" (cast_expression "(int)&pIVar7->colormap->storage_class" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pIVar7->colormap->storage_class" & (field_expression "pIVar7->colormap->storage_class" (field_expression "pIVar7->colormap" identifier -> field_identifier) -> field_identifier))) + identifier) )))) ;) (expression_statement "pPVar57 = &pixel;" (assignment_expression "pPVar57 = &pixel" identifier = (pointer_expression "&pixel" & identifier)) ;) (do_statement "do {\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              } while (pdVar10 != &pixel.index);" do (compound_statement "{\n                pCVar11 = pCVar4;\n                pdVar10 = &pPVar57->fuzz;\n                pEVar36 = (ExceptionInfo *)pPVar57->colorspace;\n                pIVar34 = (Image *)pPVar57->alpha_trait;\n                CVar32 = *(ClassType *)&pPVar57->field_0xc;\n                *pCVar11 = pPVar57->storage_class;\n                pCVar11[1] = (ClassType)pEVar36;\n                pCVar11[2] = (ClassType)pIVar34;\n                pCVar11[3] = CVar32;\n                pCVar4 = pCVar11 + 4;\n                pPVar57 = (PixelInfo *)pdVar10;\n              }" { (expression_statement "pCVar11 = pCVar4;" (assignment_expression "pCVar11 = pCVar4" identifier = identifier) ;) (expression_statement "pdVar10 = &pPVar57->fuzz;" (assignment_expression "pdVar10 = &pPVar57->fuzz" identifier = (pointer_expression "&pPVar57->fuzz" & (field_expression "pPVar57->fuzz" identifier -> field_identifier))) ;) (expression_statement "pEVar36 = (ExceptionInfo *)pPVar57->colorspace;" (assignment_expression "pEVar36 = (ExceptionInfo *)pPVar57->colorspace" identifier = (cast_expression "(ExceptionInfo *)pPVar57->colorspace" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPVar57->colorspace" identifier -> field_identifier))) ;) (expression_statement "pIVar34 = (Image *)pPVar57->alpha_trait;" (assignment_expression "pIVar34 = (Image *)pPVar57->alpha_trait" identifier = (cast_expression "(Image *)pPVar57->alpha_trait" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPVar57->alpha_trait" identifier -> field_identifier))) ;) (expression_statement "CVar32 = *(ClassType *)&pPVar57->field_0xc;" (assignment_expression "CVar32 = *(ClassType *)&pPVar57->field_0xc" identifier = (pointer_expression "*(ClassType *)&pPVar57->field_0xc" * (cast_expression "(ClassType *)&pPVar57->field_0xc" ( (type_descriptor "ClassType *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar57->field_0xc" & (field_expression "pPVar57->field_0xc" identifier -> field_identifier))))) ;) (expression_statement "*pCVar11 = pPVar57->storage_class;" (assignment_expression "*pCVar11 = pPVar57->storage_class" (pointer_expression "*pCVar11" * identifier) = (field_expression "pPVar57->storage_class" identifier -> field_identifier)) ;) (expression_statement "pCVar11[1] = (ClassType)pEVar36;" (assignment_expression "pCVar11[1] = (ClassType)pEVar36" (subscript_expression "pCVar11[1]" identifier [ number_literal ]) = (cast_expression "(ClassType)pEVar36" ( (type_descriptor "ClassType" type_identifier) ) identifier)) ;) (expression_statement "pCVar11[2] = (ClassType)pIVar34;" (assignment_expression "pCVar11[2] = (ClassType)pIVar34" (subscript_expression "pCVar11[2]" identifier [ number_literal ]) = (cast_expression "(ClassType)pIVar34" ( (type_descriptor "ClassType" type_identifier) ) identifier)) ;) (expression_statement "pCVar11[3] = CVar32;" (assignment_expression "pCVar11[3] = CVar32" (subscript_expression "pCVar11[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pCVar4 = pCVar11 + 4;" (assignment_expression "pCVar4 = pCVar11 + 4" identifier = (binary_expression "pCVar11 + 4" identifier + number_literal)) ;) (expression_statement "pPVar57 = (PixelInfo *)pdVar10;" (assignment_expression "pPVar57 = (PixelInfo *)pdVar10" identifier = (cast_expression "(PixelInfo *)pdVar10" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(pdVar10 != &pixel.index)" ( (binary_expression "pdVar10 != &pixel.index" identifier != (pointer_expression "&pixel.index" & (field_expression "pixel.index" identifier . field_identifier))) )) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "pCVar11[4] = (ClassType)pixel.index._0_4_;" (assignment_expression "pCVar11[4] = (ClassType)pixel.index._0_4_" (subscript_expression "pCVar11[4]" identifier [ number_literal ]) = (cast_expression "(ClassType)pixel.index._0_4_" ( (type_descriptor "ClassType" type_identifier) ) (field_expression "pixel.index._0_4_" (field_expression "pixel.index" identifier . field_identifier) . field_identifier))) ;) (expression_statement "pCVar11[5] = pixel.index._4_4_;" (assignment_expression "pCVar11[5] = pixel.index._4_4_" (subscript_expression "pCVar11[5]" identifier [ number_literal ]) = (field_expression "pixel.index._4_4_" (field_expression "pixel.index" identifier . field_identifier) . field_identifier)) ;) (expression_statement "iVar8 = iVar8 + 0x58;" (assignment_expression "iVar8 = iVar8 + 0x58" identifier = (binary_expression "iVar8 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar19 < (int)pIVar7->colors)" ( (binary_expression "(int)uVar19 < (int)pIVar7->colors" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pIVar7->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->colors" identifier -> field_identifier))) )) ;) })) })) (expression_statement "puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" identifier = identifier) ;) (expression_statement "runlength = '\0';" (assignment_expression "runlength = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < (int)pIVar7->rows) {\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }" if (parenthesized_expression "(0 < (int)pIVar7->rows)" ( (binary_expression "0 < (int)pIVar7->rows" number_literal < (cast_expression "(int)pIVar7->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->rows" identifier -> field_identifier))) )) (compound_statement "{\n          uVar74 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (ExceptionInfo *)0x0;\n          local_ec = 0;\n          dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (ExceptionInfo *)0x0;\n          local_e4 = (ExceptionInfo *)0x0;\n          dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar12 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);\n        }" { (expression_statement "uVar74 = 0;" (assignment_expression "uVar74 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_f0 = (ExceptionInfo *)0x0;" (assignment_expression "local_f0 = (ExceptionInfo *)0x0" identifier = (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar79 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "local_f8 = (ExceptionInfo *)0x0;" (assignment_expression "local_f8 = (ExceptionInfo *)0x0" identifier = (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e4 = (ExceptionInfo *)0x0;" (assignment_expression "local_e4 = (ExceptionInfo *)0x0" identifier = (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar77 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" identifier = (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" * (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar12 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (do_statement "do {\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          } while ((int)uVar19 < (int)sVar45);" do (compound_statement "{\n            pIVar34 = (Image *)0x0;\n            pEVar36 = local_f8;\n            iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->columns;\n            if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }\n            if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }\n            if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }\n            pIVar34 = (Image *)exception;\n            iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);\n            if (iVar8 == 0) break;\n            sVar45 = pIVar7->rows;\n            if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }\n            uVar19 = local_ec + 1;\n            local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));\n            local_ec = uVar19;\n          }" { (expression_statement "pIVar34 = (Image *)0x0;" (assignment_expression "pIVar34 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar36 = local_f8;" (assignment_expression "pEVar36 = local_f8" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception);" (assignment_expression "iVar8 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception)" identifier = (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pIVar7,0,local_f8,pIVar7->columns,1,exception)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" ( (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" * (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,0,local_f8,pIVar7->columns,1,exception)" ( identifier , number_literal , identifier , (field_expression "pIVar7->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar45) {\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }" if (parenthesized_expression "(0 < (int)sVar45)" ( (binary_expression "0 < (int)sVar45" number_literal < (cast_expression "(int)sVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar43 = 0;\n              dVar70 = *(double *)(puVar16 + -0x5af0);\n              do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);\n            }" { (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" identifier = number_literal) ;) (expression_statement "dVar70 = *(double *)(puVar16 + -0x5af0);" (assignment_expression "dVar70 = *(double *)(puVar16 + -0x5af0)" identifier = (pointer_expression "*(double *)(puVar16 + -0x5af0)" * (cast_expression "(double *)(puVar16 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x5af0)" ( (binary_expression "puVar16 + -0x5af0" identifier + number_literal) ))))) ;) (do_statement "do {\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              } while (iVar43 < (int)sVar45);" do (compound_statement "{\n                uVar5 = runlength;\n                if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                runlength = uVar5;\n                if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }\n                iVar27 = pPVar22[2].offset;\n                pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);\n                *(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;\n                pEVar36->severity = (ExceptionType)(float)dVar75;\n                *(float *)(iVar8 + iVar27 * 4) = (float)dVar72;\n                if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }\n                iVar43 = iVar43 + 1;\n                iVar8 = iVar8 + pIVar7->number_channels * 4;\n              }" { (expression_statement "uVar5 = runlength;" (assignment_expression "uVar5 = runlength" identifier = identifier) ;) (if_statement "if ((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')) {\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }" if (parenthesized_expression "((tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0'))" ( (binary_expression "(tga_info.image_type - TGARLEColormap < 3) &&\n                   (uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')" (parenthesized_expression "(tga_info.image_type - TGARLEColormap < 3)" ( (binary_expression "tga_info.image_type - TGARLEColormap < 3" (binary_expression "tga_info.image_type - TGARLEColormap" (field_expression "tga_info.image_type" identifier . field_identifier) - identifier) < number_literal) )) && (parenthesized_expression "(uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0')" ( (comma_expression "uVar5 = runlength + 0xff, bVar1 = bVar2, runlength == '\0'" (assignment_expression "uVar5 = runlength + 0xff" identifier = (binary_expression "runlength + 0xff" identifier + number_literal)) , (comma_expression "bVar1 = bVar2, runlength == '\0'" (assignment_expression "bVar1 = bVar2" identifier = identifier) , (binary_expression "runlength == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);\n                  if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar38 = 0x1bd;\nLAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;\n                  pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar17 = 0x1a9;\n                  goto LAB_002b725c;\n                }" { (expression_statement "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength);" (assignment_expression "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,&runlength)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,1,&runlength)" ( identifier , number_literal , (pointer_expression "&runlength" & identifier) )))) ;) (if_statement "if (iVar27 == 1) {\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" if (parenthesized_expression "(iVar27 == 1)" ( (binary_expression "iVar27 == 1" identifier == number_literal) )) (compound_statement "{\n                    if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" { (if_statement "if ((char)runlength < '\0') {\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }" if (parenthesized_expression "((char)runlength < '\0')" ( (binary_expression "(char)runlength < '\0'" (cast_expression "(char)runlength" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      bVar2 = true;\n                      runlength = runlength + 0x80;\n                    }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "runlength = runlength + 0x80;" (assignment_expression "runlength = runlength + 0x80" identifier = (binary_expression "runlength + 0x80" identifier + number_literal)) ;) }) (else_clause "else {\n                      bVar2 = false;\n                    }" else (compound_statement "{\n                      bVar2 = false;\n                    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }))) (goto_statement "goto LAB_002b6fd4;" goto statement_identifier ;) })) (expression_statement "uVar38 = 0x1bd;" (assignment_expression "uVar38 = 0x1bd" identifier = number_literal) ;) (labeled_statement "LAB_002b7920:\n                  puVar9 = PTR_LAB_003a88e0 + 0x3e28;" statement_identifier : (expression_statement "puVar9 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar9 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;)) (expression_statement "pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pEVar36 = (ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(ExceptionInfo *)\n                            (PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar16 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier + number_literal)) ;) (expression_statement "uVar17 = 0x1a9;" (assignment_expression "uVar17 = 0x1a9" identifier = number_literal) ;) (goto_statement "goto LAB_002b725c;" goto statement_identifier ;) })) (expression_statement "runlength = uVar5;" (assignment_expression "runlength = uVar5" identifier = identifier) ;) (if_statement "if (bVar1) {\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n                  CVar32 = pIVar7->storage_class;\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar72 = pixel.blue;\n                  dVar75 = pixel.green;\n                  dVar76 = pixel.red;\nLAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;\n                  if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }\n                }" { (expression_statement "CVar32 = pIVar7->storage_class;" (assignment_expression "CVar32 = pIVar7->storage_class" identifier = (field_expression "pIVar7->storage_class" identifier -> field_identifier)) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "dVar72 = pixel.blue;" (assignment_expression "dVar72 = pixel.blue" identifier = (field_expression "pixel.blue" identifier . field_identifier)) ;) (expression_statement "dVar75 = pixel.green;" (assignment_expression "dVar75 = pixel.green" identifier = (field_expression "pixel.green" identifier . field_identifier)) ;) (expression_statement "dVar76 = pixel.red;" (assignment_expression "dVar76 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) (labeled_statement "LAB_002b6f24:\n                  pPVar22 = pIVar7->channel_map;" statement_identifier : (expression_statement "pPVar22 = pIVar7->channel_map;" (assignment_expression "pPVar22 = pIVar7->channel_map" identifier = (field_expression "pIVar7->channel_map" identifier -> field_identifier)) ;)) (if_statement "if (CVar32 == PseudoClass) {\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }" if (parenthesized_expression "(CVar32 == PseudoClass)" ( (binary_expression "CVar32 == PseudoClass" identifier == identifier) )) (compound_statement "{\nLAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }\n                  }" { (labeled_statement "LAB_002b72e8:\n                    if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }" statement_identifier : (if_statement "if (pPVar22[5].traits != UndefinedPixelTrait) {\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }" if (parenthesized_expression "(pPVar22[5].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar22[5].traits != UndefinedPixelTrait" (field_expression "pPVar22[5].traits" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                      *(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;\n                    }" { (expression_statement "*(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74;" (assignment_expression "*(int *)(iVar8 + pPVar22[5].offset * 4) = (int)uVar74" (pointer_expression "*(int *)(iVar8 + pPVar22[5].offset * 4)" * (cast_expression "(int *)(iVar8 + pPVar22[5].offset * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + pPVar22[5].offset * 4)" ( (binary_expression "iVar8 + pPVar22[5].offset * 4" identifier + (binary_expression "pPVar22[5].offset * 4" (field_expression "pPVar22[5].offset" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) * number_literal)) )))) = (cast_expression "(int)uVar74" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) })) }) (else_clause "else {\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }" else (compound_statement "{\nLAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;\n                  if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar19 - 0xf) goto LAB_002b747c;\n                  iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);\n                  if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar19 = (uint)pixels[1];\n                  PVar30 = pIVar7->alpha_trait;\n                  dVar63 = *(double *)(puVar9 + 0x1a58);\n                  dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);\n                  dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);\n                  dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);\n                  if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }\n                  bVar1 = false;\n                  pixel.red = dVar76;\n                  pixel.green = dVar75;\n                  pixel.blue = dVar72;\n                  if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }\n                  pPVar22 = pIVar7->channel_map;\n                  sVar45 = pIVar7->columns;\n                }" { (labeled_statement "LAB_002b6fd4:\n                  uVar19 = (uint)tga_info.bits_per_pixel;" statement_identifier : (expression_statement "uVar19 = (uint)tga_info.bits_per_pixel;" (assignment_expression "uVar19 = (uint)tga_info.bits_per_pixel" identifier = (cast_expression "(uint)tga_info.bits_per_pixel" ( (type_descriptor "uint" type_identifier) ) (field_expression "tga_info.bits_per_pixel" identifier . field_identifier))) ;)) (if_statement "if (uVar19 == 0x18) {\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }" if (parenthesized_expression "(uVar19 == 0x18)" ( (binary_expression "uVar19 == 0x18" identifier == number_literal) )) (compound_statement "{\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);\n                    if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    CVar32 = pIVar7->storage_class;\n                    PVar30 = pIVar7->alpha_trait;\n                    sVar45 = pIVar7->columns;\n                    pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);\n                    pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);\n                    pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);\n                    dVar72 = pixel.blue;\n                    dVar75 = pixel.green;\n                    dVar76 = pixel.red;\n                    goto LAB_002b6f24;\n                  }" { (expression_statement "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels);" (assignment_expression "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7,3,pixels)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,3,pixels)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar27 != 3) {\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" if (parenthesized_expression "(iVar27 != 3)" ( (binary_expression "iVar27 != 3" identifier != number_literal) )) (compound_statement "{\n                      uVar38 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" { (expression_statement "uVar38 = 0x1ff;" (assignment_expression "uVar38 = 0x1ff" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "CVar32 = pIVar7->storage_class;" (assignment_expression "CVar32 = pIVar7->storage_class" identifier = (field_expression "pIVar7->storage_class" identifier -> field_identifier)) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (expression_statement "pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79);" (assignment_expression "pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar79)" (field_expression "pixel.blue" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[0] * dVar79)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[0] * dVar79)" ( (binary_expression "(double)pixels[0] * dVar79" (cast_expression "(double)pixels[0]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[0]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79);" (assignment_expression "pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar79)" (field_expression "pixel.green" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[1] * dVar79)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[1] * dVar79)" ( (binary_expression "(double)pixels[1] * dVar79" (cast_expression "(double)pixels[1]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79);" (assignment_expression "pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar79)" (field_expression "pixel.red" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[2] * dVar79)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[2] * dVar79)" ( (binary_expression "(double)pixels[2] * dVar79" (cast_expression "(double)pixels[2]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "dVar72 = pixel.blue;" (assignment_expression "dVar72 = pixel.blue" identifier = (field_expression "pixel.blue" identifier . field_identifier)) ;) (expression_statement "dVar75 = pixel.green;" (assignment_expression "dVar75 = pixel.green" identifier = (field_expression "pixel.green" identifier . field_identifier)) ;) (expression_statement "dVar76 = pixel.red;" (assignment_expression "dVar76 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (if_statement "if (0x18 < uVar19) {\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }" if (parenthesized_expression "(0x18 < uVar19)" ( (binary_expression "0x18 < uVar19" number_literal < identifier) )) (compound_statement "{\n                    if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);\n                    if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar19 = (uint)pixels[0];\n                    uVar74 = (ulonglong)(uint)(float)uVar19;\n                    if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }\n                    goto LAB_002b6f24;\n                  }" { (if_statement "if (uVar19 == 0x20) {\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }" if (parenthesized_expression "(uVar19 == 0x20)" ( (binary_expression "uVar19 == 0x20" identifier == number_literal) )) (compound_statement "{\n                      iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);\n                      if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      sVar45 = pIVar7->columns;\n                      CVar32 = pIVar7->storage_class;\n                      dVar72 = *(double *)(puVar16 + -0x5af0);\n                      PVar30 = pIVar7->alpha_trait;\n                      pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);\n                      pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);\n                      pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);\n                      pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                      goto LAB_002b6f24;\n                    }" { (expression_statement "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels);" (assignment_expression "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7,4,pixels)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,4,pixels)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar27 != 4) {\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }" if (parenthesized_expression "(iVar27 != 4)" ( (binary_expression "iVar27 != 4" identifier != number_literal) )) (compound_statement "{\n                        uVar38 = 0x20b;\n                        goto LAB_002b7920;\n                      }" { (expression_statement "uVar38 = 0x20b;" (assignment_expression "uVar38 = 0x20b" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (expression_statement "CVar32 = pIVar7->storage_class;" (assignment_expression "CVar32 = pIVar7->storage_class" identifier = (field_expression "pIVar7->storage_class" identifier -> field_identifier)) ;) (expression_statement "dVar72 = *(double *)(puVar16 + -0x5af0);" (assignment_expression "dVar72 = *(double *)(puVar16 + -0x5af0)" identifier = (pointer_expression "*(double *)(puVar16 + -0x5af0)" * (cast_expression "(double *)(puVar16 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x5af0)" ( (binary_expression "puVar16 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72);" (assignment_expression "pixel.blue = (MagickRealType)(float)((double)pixels[0] * dVar72)" (field_expression "pixel.blue" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[0] * dVar72)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[0] * dVar72)" ( (binary_expression "(double)pixels[0] * dVar72" (cast_expression "(double)pixels[0]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[0]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72);" (assignment_expression "pixel.green = (MagickRealType)(float)((double)pixels[1] * dVar72)" (field_expression "pixel.green" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[1] * dVar72)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[1] * dVar72)" ( (binary_expression "(double)pixels[1] * dVar72" (cast_expression "(double)pixels[1]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[1]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72);" (assignment_expression "pixel.red = (MagickRealType)(float)((double)pixels[2] * dVar72)" (field_expression "pixel.red" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[2] * dVar72)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[2] * dVar72)" ( (binary_expression "(double)pixels[2] * dVar72" (cast_expression "(double)pixels[2]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[2]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72);" (assignment_expression "pixel.alpha = (MagickRealType)(float)((double)pixels[3] * dVar72)" (field_expression "pixel.alpha" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)pixels[3] * dVar72)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)pixels[3] * dVar72)" ( (binary_expression "(double)pixels[3] * dVar72" (cast_expression "(double)pixels[3]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pixels[3]" identifier [ number_literal ])) * identifier) )))) ;) (expression_statement "dVar72 = pixel.blue;" (assignment_expression "dVar72 = pixel.blue" identifier = (field_expression "pixel.blue" identifier . field_identifier)) ;) (expression_statement "dVar75 = pixel.green;" (assignment_expression "dVar75 = pixel.green" identifier = (field_expression "pixel.green" identifier . field_identifier)) ;) (expression_statement "dVar76 = pixel.red;" (assignment_expression "dVar76 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (labeled_statement "LAB_002b747c:\n                    iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);" statement_identifier : (expression_statement "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels);" (assignment_expression "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7,1,pixels)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,1,pixels)" ( identifier , number_literal , identifier )))) ;)) (if_statement "if (iVar27 != 1) {\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" if (parenthesized_expression "(iVar27 != 1)" ( (binary_expression "iVar27 != 1" identifier != number_literal) )) (compound_statement "{\n                      uVar38 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" { (expression_statement "uVar38 = 0x1ce;" (assignment_expression "uVar38 = 0x1ce" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "uVar19 = (uint)pixels[0];" (assignment_expression "uVar19 = (uint)pixels[0]" identifier = (cast_expression "(uint)pixels[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pixels[0]" identifier [ number_literal ]))) ;) (expression_statement "uVar74 = (ulonglong)(uint)(float)uVar19;" (assignment_expression "uVar74 = (ulonglong)(uint)(float)uVar19" identifier = (cast_expression "(ulonglong)(uint)(float)uVar19" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)(float)uVar19" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)uVar19" ( (type_descriptor "float" primitive_type) ) identifier)))) ;) (if_statement "if (tga_info.colormap_type == '\0') {\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }\n                    else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }" if (parenthesized_expression "(tga_info.colormap_type == '\0')" ( (binary_expression "tga_info.colormap_type == '\0'" (field_expression "tga_info.colormap_type" identifier . field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      CVar32 = pIVar7->storage_class;\n                      bVar1 = false;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);\n                      dVar72 = pixel.red;\n                      dVar75 = pixel.red;\n                      dVar76 = pixel.red;\n                      pixel.green = pixel.red;\n                      pixel.blue = pixel.red;\n                    }" { (expression_statement "CVar32 = pIVar7->storage_class;" (assignment_expression "CVar32 = pIVar7->storage_class" identifier = (field_expression "pIVar7->storage_class" identifier -> field_identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (expression_statement "pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70);" (assignment_expression "pixel.red = (MagickRealType)(float)((double)uVar19 * dVar70)" (field_expression "pixel.red" identifier . field_identifier) = (call_expression "(MagickRealType)(float)((double)uVar19 * dVar70)" (call_expression "(MagickRealType)(float)" (parenthesized_expression "(MagickRealType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)uVar19 * dVar70)" ( (binary_expression "(double)uVar19 * dVar70" (cast_expression "(double)uVar19" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) (expression_statement "dVar72 = pixel.red;" (assignment_expression "dVar72 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) (expression_statement "dVar75 = pixel.red;" (assignment_expression "dVar75 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) (expression_statement "dVar76 = pixel.red;" (assignment_expression "dVar76 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) (expression_statement "pixel.green = pixel.red;" (assignment_expression "pixel.green = pixel.red" (field_expression "pixel.green" identifier . field_identifier) = (field_expression "pixel.red" identifier . field_identifier)) ;) (expression_statement "pixel.blue = pixel.red;" (assignment_expression "pixel.blue = pixel.red" (field_expression "pixel.blue" identifier . field_identifier) = (field_expression "pixel.red" identifier . field_identifier)) ;) }) (else_clause "else {\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }" else (compound_statement "{\n                      pPVar57 = pIVar7->colormap;\n                      if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }\n                      pPVar15 = pPVar57;\n                      pPVar31 = &pixel;\n                      do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);\n                      bVar1 = false;\n                      uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);\n                      *(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;\n                      *(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;\n                      CVar32 = pIVar7->storage_class;\n                      PVar30 = pIVar7->alpha_trait;\n                      sVar45 = pIVar7->columns;\n                      dVar72 = pixel.blue;\n                      dVar75 = pixel.green;\n                      dVar76 = pixel.red;\n                    }" { (expression_statement "pPVar57 = pIVar7->colormap;" (assignment_expression "pPVar57 = pIVar7->colormap" identifier = (field_expression "pIVar7->colormap" identifier -> field_identifier)) ;) (if_statement "if ((int)uVar19 < (int)pIVar7->colors) {\n                        pPVar57 = pPVar57 + uVar19;\n                      }\n                      else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }" if (parenthesized_expression "((int)uVar19 < (int)pIVar7->colors)" ( (binary_expression "(int)uVar19 < (int)pIVar7->colors" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pIVar7->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->colors" identifier -> field_identifier))) )) (compound_statement "{\n                        pPVar57 = pPVar57 + uVar19;\n                      }" { (expression_statement "pPVar57 = pPVar57 + uVar19;" (assignment_expression "pPVar57 = pPVar57 + uVar19" identifier = (binary_expression "pPVar57 + uVar19" identifier + identifier)) ;) }) (else_clause "else if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }" else (if_statement "if (exception->severity != CorruptImageError) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }" if (parenthesized_expression "(exception->severity != CorruptImageError)" ( (binary_expression "exception->severity != CorruptImageError" (field_expression "exception->severity" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                      }" { (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + 0x6f4" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" identifier + number_literal) , number_literal , number_literal , (binary_expression "puVar3 + -0x5990" identifier + number_literal) , identifier , (field_expression "pIVar7->filename" identifier -> field_identifier) ))) ;) })))) (expression_statement "pPVar15 = pPVar57;" (assignment_expression "pPVar15 = pPVar57" identifier = identifier) ;) (expression_statement "pPVar31 = &pixel;" (assignment_expression "pPVar31 = &pixel" identifier = (pointer_expression "&pixel" & identifier)) ;) (do_statement "do {\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      } while (pPVar15 != (PixelInfo *)&pPVar57->index);" do (compound_statement "{\n                        pPVar25 = pPVar31;\n                        pPVar46 = pPVar15;\n                        pPVar15 = (PixelInfo *)&pPVar46->fuzz;\n                        CVar39 = pPVar46->colorspace;\n                        PVar30 = pPVar46->alpha_trait;\n                        uVar38 = *(undefined4 *)&pPVar46->field_0xc;\n                        pPVar25->storage_class = pPVar46->storage_class;\n                        pPVar25->colorspace = CVar39;\n                        pPVar25->alpha_trait = PVar30;\n                        *(undefined4 *)&pPVar25->field_0xc = uVar38;\n                        pPVar31 = (PixelInfo *)&pPVar25->fuzz;\n                      }" { (expression_statement "pPVar25 = pPVar31;" (assignment_expression "pPVar25 = pPVar31" identifier = identifier) ;) (expression_statement "pPVar46 = pPVar15;" (assignment_expression "pPVar46 = pPVar15" identifier = identifier) ;) (expression_statement "pPVar15 = (PixelInfo *)&pPVar46->fuzz;" (assignment_expression "pPVar15 = (PixelInfo *)&pPVar46->fuzz" identifier = (cast_expression "(PixelInfo *)&pPVar46->fuzz" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar46->fuzz" & (field_expression "pPVar46->fuzz" identifier -> field_identifier)))) ;) (expression_statement "CVar39 = pPVar46->colorspace;" (assignment_expression "CVar39 = pPVar46->colorspace" identifier = (field_expression "pPVar46->colorspace" identifier -> field_identifier)) ;) (expression_statement "PVar30 = pPVar46->alpha_trait;" (assignment_expression "PVar30 = pPVar46->alpha_trait" identifier = (field_expression "pPVar46->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "uVar38 = *(undefined4 *)&pPVar46->field_0xc;" (assignment_expression "uVar38 = *(undefined4 *)&pPVar46->field_0xc" identifier = (pointer_expression "*(undefined4 *)&pPVar46->field_0xc" * (cast_expression "(undefined4 *)&pPVar46->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar46->field_0xc" & (field_expression "pPVar46->field_0xc" identifier -> field_identifier))))) ;) (expression_statement "pPVar25->storage_class = pPVar46->storage_class;" (assignment_expression "pPVar25->storage_class = pPVar46->storage_class" (field_expression "pPVar25->storage_class" identifier -> field_identifier) = (field_expression "pPVar46->storage_class" identifier -> field_identifier)) ;) (expression_statement "pPVar25->colorspace = CVar39;" (assignment_expression "pPVar25->colorspace = CVar39" (field_expression "pPVar25->colorspace" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar25->alpha_trait = PVar30;" (assignment_expression "pPVar25->alpha_trait = PVar30" (field_expression "pPVar25->alpha_trait" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&pPVar25->field_0xc = uVar38;" (assignment_expression "*(undefined4 *)&pPVar25->field_0xc = uVar38" (pointer_expression "*(undefined4 *)&pPVar25->field_0xc" * (cast_expression "(undefined4 *)&pPVar25->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar25->field_0xc" & (field_expression "pPVar25->field_0xc" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pPVar31 = (PixelInfo *)&pPVar25->fuzz;" (assignment_expression "pPVar31 = (PixelInfo *)&pPVar25->fuzz" identifier = (cast_expression "(PixelInfo *)&pPVar25->fuzz" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar25->fuzz" & (field_expression "pPVar25->fuzz" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(pPVar15 != (PixelInfo *)&pPVar57->index)" ( (binary_expression "pPVar15 != (PixelInfo *)&pPVar57->index" identifier != (cast_expression "(PixelInfo *)&pPVar57->index" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar57->index" & (field_expression "pPVar57->index" identifier -> field_identifier)))) )) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4);" (assignment_expression "uVar38 = *(undefined4 *)((int)&pPVar46->fuzz + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&pPVar46->fuzz + 4)" * (cast_expression "(undefined4 *)((int)&pPVar46->fuzz + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar46->fuzz + 4)" ( (binary_expression "(int)&pPVar46->fuzz + 4" (cast_expression "(int)&pPVar46->fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar46->fuzz" & (field_expression "pPVar46->fuzz" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15;" (assignment_expression "*(undefined4 *)&pPVar25->fuzz = *(undefined4 *)pPVar15" (pointer_expression "*(undefined4 *)&pPVar25->fuzz" * (cast_expression "(undefined4 *)&pPVar25->fuzz" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar25->fuzz" & (field_expression "pPVar25->fuzz" identifier -> field_identifier)))) = (pointer_expression "*(undefined4 *)pPVar15" * (cast_expression "(undefined4 *)pPVar15" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38;" (assignment_expression "*(undefined4 *)((int)&pPVar25->fuzz + 4) = uVar38" (pointer_expression "*(undefined4 *)((int)&pPVar25->fuzz + 4)" * (cast_expression "(undefined4 *)((int)&pPVar25->fuzz + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar25->fuzz + 4)" ( (binary_expression "(int)&pPVar25->fuzz + 4" (cast_expression "(int)&pPVar25->fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar25->fuzz" & (field_expression "pPVar25->fuzz" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "CVar32 = pIVar7->storage_class;" (assignment_expression "CVar32 = pIVar7->storage_class" identifier = (field_expression "pIVar7->storage_class" identifier -> field_identifier)) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (expression_statement "dVar72 = pixel.blue;" (assignment_expression "dVar72 = pixel.blue" identifier = (field_expression "pixel.blue" identifier . field_identifier)) ;) (expression_statement "dVar75 = pixel.green;" (assignment_expression "dVar75 = pixel.green" identifier = (field_expression "pixel.green" identifier . field_identifier)) ;) (expression_statement "dVar76 = pixel.red;" (assignment_expression "dVar76 = pixel.red" identifier = (field_expression "pixel.red" identifier . field_identifier)) ;) }))) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (if_statement "if (1 < uVar19 - 0xf) goto LAB_002b747c;" if (parenthesized_expression "(1 < uVar19 - 0xf)" ( (binary_expression "1 < uVar19 - 0xf" number_literal < (binary_expression "uVar19 - 0xf" identifier - number_literal)) )) (goto_statement "goto LAB_002b747c;" goto statement_identifier ;)) (expression_statement "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels);" (assignment_expression "iVar27 = (*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pIVar7,2,pixels)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7,2,pixels)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar27 != 2) {\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" if (parenthesized_expression "(iVar27 != 2)" ( (binary_expression "iVar27 != 2" identifier != number_literal) )) (compound_statement "{\n                    uVar38 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" { (expression_statement "uVar38 = 0x1e8;" (assignment_expression "uVar38 = 0x1e8" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "uVar19 = (uint)pixels[1];" (assignment_expression "uVar19 = (uint)pixels[1]" identifier = (cast_expression "(uint)pixels[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pixels[1]" identifier [ number_literal ]))) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "dVar63 = *(double *)(puVar9 + 0x1a58);" (assignment_expression "dVar63 = *(double *)(puVar9 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar9 + 0x1a58)" * (cast_expression "(double *)(puVar9 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x1a58)" ( (binary_expression "puVar9 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63);" (assignment_expression "dVar76 = (double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63)" identifier = (cast_expression "(double)(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63)" ( (binary_expression "(double)((uVar19 << 0x19) >> 0x1b) * dVar77 * dVar63" (binary_expression "(double)((uVar19 << 0x19) >> 0x1b) * dVar77" (cast_expression "(double)((uVar19 << 0x19) >> 0x1b)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar19 << 0x19) >> 0x1b)" ( (binary_expression "(uVar19 << 0x19) >> 0x1b" (parenthesized_expression "(uVar19 << 0x19)" ( (binary_expression "uVar19 << 0x19" identifier << number_literal) )) >> number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63);" (assignment_expression "dVar75 = (double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63)" identifier = (cast_expression "(double)(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63)" ( (binary_expression "(double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77 * dVar63" (binary_expression "(double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)) *\n                                           dVar77" (cast_expression "(double)((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar19 & 3) * 8 + (uint)(pixels[0] >> 5))" ( (binary_expression "(uVar19 & 3) * 8 + (uint)(pixels[0] >> 5)" (binary_expression "(uVar19 & 3) * 8" (parenthesized_expression "(uVar19 & 3)" ( (binary_expression "uVar19 & 3" identifier & number_literal) )) * number_literal) + (call_expression "(uint)(pixels[0] >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pixels[0] >> 5)" ( (binary_expression "pixels[0] >> 5" (subscript_expression "pixels[0]" identifier [ number_literal ]) >> number_literal) )))) ))) * identifier) * identifier) ))))) ;) (expression_statement "dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63);" (assignment_expression "dVar72 = (double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63)" identifier = (cast_expression "(double)(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)(pixels[0] & 0x1f) * dVar77 * dVar63)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(pixels[0] & 0x1f) * dVar77 * dVar63)" ( (binary_expression "(double)(pixels[0] & 0x1f) * dVar77 * dVar63" (binary_expression "(double)(pixels[0] & 0x1f) * dVar77" (cast_expression "(double)(pixels[0] & 0x1f)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(pixels[0] & 0x1f)" ( (binary_expression "pixels[0] & 0x1f" (subscript_expression "pixels[0]" identifier [ number_literal ]) & number_literal) ))) * identifier) * identifier) ))))) ;) (if_statement "if ((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])) {\n                    pixel.alpha = 0.0;\n                  }" if (parenthesized_expression "((PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1]))" ( (binary_expression "(PVar30 != UndefinedPixelTrait) &&\n                     (pixel.alpha = dVar63, -1 < (char)pixels[1])" (parenthesized_expression "(PVar30 != UndefinedPixelTrait)" ( (binary_expression "PVar30 != UndefinedPixelTrait" identifier != identifier) )) && (parenthesized_expression "(pixel.alpha = dVar63, -1 < (char)pixels[1])" ( (comma_expression "pixel.alpha = dVar63, -1 < (char)pixels[1]" (assignment_expression "pixel.alpha = dVar63" (field_expression "pixel.alpha" identifier . field_identifier) = identifier) , (binary_expression "-1 < (char)pixels[1]" number_literal < (cast_expression "(char)pixels[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pixels[1]" identifier [ number_literal ])))) ))) )) (compound_statement "{\n                    pixel.alpha = 0.0;\n                  }" { (expression_statement "pixel.alpha = 0.0;" (assignment_expression "pixel.alpha = 0.0" (field_expression "pixel.alpha" identifier . field_identifier) = number_literal) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pixel.red = dVar76;" (assignment_expression "pixel.red = dVar76" (field_expression "pixel.red" identifier . field_identifier) = identifier) ;) (expression_statement "pixel.green = dVar75;" (assignment_expression "pixel.green = dVar75" (field_expression "pixel.green" identifier . field_identifier) = identifier) ;) (expression_statement "pixel.blue = dVar72;" (assignment_expression "pixel.blue = dVar72" (field_expression "pixel.blue" identifier . field_identifier) = identifier) ;) (if_statement "if (pIVar7->storage_class == PseudoClass) {\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }" if (parenthesized_expression "(pIVar7->storage_class == PseudoClass)" ( (binary_expression "pIVar7->storage_class == PseudoClass" (field_expression "pIVar7->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                    iVar27 = uVar19 * 0x100 + (uint)pixels[0];\n                    if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }\n                    pPVar22 = pIVar7->channel_map;\n                    bVar1 = false;\n                    sVar45 = pIVar7->columns;\n                    goto LAB_002b72e8;\n                  }" { (expression_statement "iVar27 = uVar19 * 0x100 + (uint)pixels[0];" (assignment_expression "iVar27 = uVar19 * 0x100 + (uint)pixels[0]" identifier = (binary_expression "uVar19 * 0x100 + (uint)pixels[0]" (binary_expression "uVar19 * 0x100" identifier * number_literal) + (cast_expression "(uint)pixels[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pixels[0]" identifier [ number_literal ])))) ;) (if_statement "if (iVar27 < (int)pIVar7->colors) {\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }\n                    else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }" if (parenthesized_expression "(iVar27 < (int)pIVar7->colors)" ( (binary_expression "iVar27 < (int)pIVar7->colors" identifier < (cast_expression "(int)pIVar7->colors" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar7->colors" identifier -> field_identifier))) )) (compound_statement "{\n                      uVar74 = (ulonglong)(uint)(float)iVar27;\n                    }" { (expression_statement "uVar74 = (ulonglong)(uint)(float)iVar27;" (assignment_expression "uVar74 = (ulonglong)(uint)(float)iVar27" identifier = (cast_expression "(ulonglong)(uint)(float)iVar27" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)(float)iVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)iVar27" ( (type_descriptor "float" primitive_type) ) identifier)))) ;) }) (else_clause "else {\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }" else (compound_statement "{\n                      if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }\n                      uVar74 = 0;\n                    }" { (if_statement "if (exception->severity != CorruptImageError) {\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }" if (parenthesized_expression "(exception->severity != CorruptImageError)" ( (binary_expression "exception->severity != CorruptImageError" (field_expression "exception->severity" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                        uVar74 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);\n                        CVar32 = pIVar7->storage_class;\n                        PVar30 = pIVar7->alpha_trait;\n                        sVar45 = pIVar7->columns;\n                        goto LAB_002b6f24;\n                      }" { (expression_statement "uVar74 = 0;" (assignment_expression "uVar74 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar12,pIVar7->filename)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + 0x6f4" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" identifier + number_literal) , number_literal , number_literal , (binary_expression "puVar3 + -0x5990" identifier + number_literal) , identifier , (field_expression "pIVar7->filename" identifier -> field_identifier) ))) ;) (expression_statement "CVar32 = pIVar7->storage_class;" (assignment_expression "CVar32 = pIVar7->storage_class" identifier = (field_expression "pIVar7->storage_class" identifier -> field_identifier)) ;) (expression_statement "PVar30 = pIVar7->alpha_trait;" (assignment_expression "PVar30 = pIVar7->alpha_trait" identifier = (field_expression "pIVar7->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (expression_statement "uVar74 = 0;" (assignment_expression "uVar74 = 0" identifier = number_literal) ;) }))) (expression_statement "pPVar22 = pIVar7->channel_map;" (assignment_expression "pPVar22 = pIVar7->channel_map" identifier = (field_expression "pIVar7->channel_map" identifier -> field_identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) (goto_statement "goto LAB_002b72e8;" goto statement_identifier ;) })) (expression_statement "pPVar22 = pIVar7->channel_map;" (assignment_expression "pPVar22 = pIVar7->channel_map" identifier = (field_expression "pIVar7->channel_map" identifier -> field_identifier)) ;) (expression_statement "sVar45 = pIVar7->columns;" (assignment_expression "sVar45 = pIVar7->columns" identifier = (field_expression "pIVar7->columns" identifier -> field_identifier)) ;) }))) (expression_statement "iVar27 = pPVar22[2].offset;" (assignment_expression "iVar27 = pPVar22[2].offset" identifier = (field_expression "pPVar22[2].offset" (subscript_expression "pPVar22[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4);" (assignment_expression "pEVar36 = (ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4)" identifier = (cast_expression "(ExceptionInfo *)(iVar8 + pPVar22[1].offset * 4)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + pPVar22[1].offset * 4)" ( (binary_expression "iVar8 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) )))) ;) (expression_statement "*(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76;" (assignment_expression "*(float *)(iVar8 + pPVar22->offset * 4) = (float)dVar76" (pointer_expression "*(float *)(iVar8 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar8 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + pPVar22->offset * 4)" ( (binary_expression "iVar8 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) )))) = (cast_expression "(float)dVar76" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pEVar36->severity = (ExceptionType)(float)dVar75;" (assignment_expression "pEVar36->severity = (ExceptionType)(float)dVar75" (field_expression "pEVar36->severity" identifier -> field_identifier) = (cast_expression "(ExceptionType)(float)dVar75" ( (type_descriptor "ExceptionType" type_identifier) ) (cast_expression "(float)dVar75" ( (type_descriptor "float" primitive_type) ) identifier))) ;) (expression_statement "*(float *)(iVar8 + iVar27 * 4) = (float)dVar72;" (assignment_expression "*(float *)(iVar8 + iVar27 * 4) = (float)dVar72" (pointer_expression "*(float *)(iVar8 + iVar27 * 4)" * (cast_expression "(float *)(iVar8 + iVar27 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar27 * 4)" ( (binary_expression "iVar8 + iVar27 * 4" identifier + (binary_expression "iVar27 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar72" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if ((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)) {\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }" if (parenthesized_expression "((PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait))" ( (binary_expression "(PVar30 != UndefinedPixelTrait) && (pPVar22[4].traits != UndefinedPixelTrait)" (parenthesized_expression "(PVar30 != UndefinedPixelTrait)" ( (binary_expression "PVar30 != UndefinedPixelTrait" identifier != identifier) )) && (parenthesized_expression "(pPVar22[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar22[4].traits != UndefinedPixelTrait" (field_expression "pPVar22[4].traits" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) != identifier) ))) )) (compound_statement "{\n                  *(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;\n                }" { (expression_statement "*(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha;" (assignment_expression "*(float *)(iVar8 + pPVar22[4].offset * 4) = (float)pixel.alpha" (pointer_expression "*(float *)(iVar8 + pPVar22[4].offset * 4)" * (cast_expression "(float *)(iVar8 + pPVar22[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + pPVar22[4].offset * 4)" ( (binary_expression "iVar8 + pPVar22[4].offset * 4" identifier + (binary_expression "pPVar22[4].offset * 4" (field_expression "pPVar22[4].offset" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) )))) = (cast_expression "(float)pixel.alpha" ( (type_descriptor "float" primitive_type) ) (field_expression "pixel.alpha" identifier . field_identifier))) ;) })) (expression_statement "iVar43 = iVar43 + 1;" (assignment_expression "iVar43 = iVar43 + 1" identifier = (binary_expression "iVar43 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = iVar8 + pIVar7->number_channels * 4;" (assignment_expression "iVar8 = iVar8 + pIVar7->number_channels * 4" identifier = (binary_expression "iVar8 + pIVar7->number_channels * 4" identifier + (binary_expression "pIVar7->number_channels * 4" (field_expression "pIVar7->number_channels" identifier -> field_identifier) * number_literal))) ;) }) while (parenthesized_expression "(iVar43 < (int)sVar45)" ( (binary_expression "iVar43 < (int)sVar45" identifier < (cast_expression "(int)sVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if (tga_info.attributes >> 6 == 2) {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }\n            else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }" if (parenthesized_expression "(tga_info.attributes >> 6 == 2)" ( (binary_expression "tga_info.attributes >> 6 == 2" (binary_expression "tga_info.attributes >> 6" (field_expression "tga_info.attributes" identifier . field_identifier) >> number_literal) == number_literal) )) (compound_statement "{\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);\n            }" { (expression_statement "local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2);" (assignment_expression "local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 2)" identifier = (cast_expression "(ExceptionInfo *)((int)&local_f8->severity + 2)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_f8->severity + 2)" ( (binary_expression "(int)&local_f8->severity + 2" (cast_expression "(int)&local_f8->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_f8->severity" & (field_expression "local_f8->severity" identifier -> field_identifier))) + number_literal) )))) ;) }) (else_clause "else {\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }" else (compound_statement "{\n              local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);\n            }" { (expression_statement "local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1);" (assignment_expression "local_f8 = (ExceptionInfo *)((int)&local_f8->severity + 1)" identifier = (cast_expression "(ExceptionInfo *)((int)&local_f8->severity + 1)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_f8->severity + 1)" ( (binary_expression "(int)&local_f8->severity + 1" (cast_expression "(int)&local_f8->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_f8->severity" & (field_expression "local_f8->severity" identifier -> field_identifier))) + number_literal) )))) ;) }))) (if_statement "if ((ExceptionInfo *)pIVar7->rows <= local_f8) {\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }" if (parenthesized_expression "((ExceptionInfo *)pIVar7->rows <= local_f8)" ( (binary_expression "(ExceptionInfo *)pIVar7->rows <= local_f8" (cast_expression "(ExceptionInfo *)pIVar7->rows" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar7->rows" identifier -> field_identifier)) <= identifier) )) (compound_statement "{\n              local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);\n              local_e4 = local_f8;\n            }" { (expression_statement "local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1);" (assignment_expression "local_f8 = (ExceptionInfo *)((int)&local_e4->severity + 1)" identifier = (cast_expression "(ExceptionInfo *)((int)&local_e4->severity + 1)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_e4->severity + 1)" ( (binary_expression "(int)&local_e4->severity + 1" (cast_expression "(int)&local_e4->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_e4->severity" & (field_expression "local_e4->severity" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "local_e4 = local_f8;" (assignment_expression "local_e4 = local_f8" identifier = identifier) ;) })) (expression_statement "pIVar34 = (Image *)exception;" (assignment_expression "pIVar34 = (Image *)exception" identifier = (cast_expression "(Image *)exception" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7);" (assignment_expression "iVar8 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7)" identifier = (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(pIVar7)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" ( (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" * (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar45 = pIVar7->rows;" (assignment_expression "sVar45 = pIVar7->rows" identifier = (field_expression "pIVar7->rows" identifier -> field_identifier)) ;) (if_statement "if (pIVar7->previous == (_Image *)0x0) {\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }" if (parenthesized_expression "(pIVar7->previous == (_Image *)0x0)" ( (binary_expression "pIVar7->previous == (_Image *)0x0" (field_expression "pIVar7->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pEVar36 = local_f0;\n              iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);\n              if (iVar8 == 0) break;\n              sVar45 = pIVar7->rows;\n            }" { (expression_statement "pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);" (assignment_expression "pIVar34 = (Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" identifier = (cast_expression "(Image *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier + number_literal) )))) ;) (expression_statement "pEVar36 = local_f0;" (assignment_expression "pEVar36 = local_f0" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45);" (assignment_expression "iVar8 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pIVar7,pIVar34,local_f0,local_ec,0,sVar45)" (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 "(pIVar7,pIVar34,local_f0,local_ec,0,sVar45)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar45 = pIVar7->rows;" (assignment_expression "sVar45 = pIVar7->rows" identifier = (field_expression "pIVar7->rows" identifier -> field_identifier)) ;) })) (expression_statement "uVar19 = local_ec + 1;" (assignment_expression "uVar19 = local_ec + 1" identifier = (binary_expression "local_ec + 1" identifier + number_literal)) ;) (expression_statement "local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec));" (assignment_expression "local_f0 = (ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec))" identifier = (cast_expression "(ExceptionInfo *)((int)&local_f0->severity + (uint)(uVar19 < local_ec))" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_f0->severity + (uint)(uVar19 < local_ec))" ( (binary_expression "(int)&local_f0->severity + (uint)(uVar19 < local_ec)" (cast_expression "(int)&local_f0->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_f0->severity" & (field_expression "local_f0->severity" identifier -> field_identifier))) + (call_expression "(uint)(uVar19 < local_ec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_ec)" ( (binary_expression "uVar19 < local_ec" identifier < identifier) )))) )))) ;) (expression_statement "local_ec = uVar19;" (assignment_expression "local_ec = uVar19" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar19 < (int)sVar45)" ( (binary_expression "(int)uVar19 < (int)sVar45" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)sVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7);" (assignment_expression "iVar8 = (*(code *)PTR_EOFBlob_003a9748)(pIVar7)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pIVar7)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);\n          pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);\n          (*(code *)PTR_DestroyString_003a9074)(uVar38);\n        }" { (expression_statement "puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar18 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18);" (assignment_expression "uVar38 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar18)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar18)" ( (pointer_expression "*puVar18" * identifier) )))) ;) (expression_statement "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,pIVar34,pEVar36,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pIVar7->filename,uVar38)" ( identifier , identifier , identifier , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (field_expression "pIVar7->filename" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar38);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar38)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar38)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pIVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pIVar7)" (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 "(pIVar7)" ( identifier ))) ;) (expression_statement "pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7);" (assignment_expression "pIVar54 = (Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7)" identifier = (cast_expression "(Image *)(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(pIVar7)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier ))))) ;) }))) }) (else_clause "else {\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }" else (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      pIVar54 = pIVar7;\n    }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pIVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pIVar7)" (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 "(pIVar7)" ( identifier ))) ;) (expression_statement "pIVar54 = pIVar7;" (assignment_expression "pIVar54 = pIVar7" identifier = identifier) ;) }))) }) (else_clause "else {\nLAB_002b68ec:\n    uVar38 = 0xdd;\nLAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);\n    if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }\n    pIVar54 = (Image *)0x0;\n  }" else (compound_statement "{\nLAB_002b68ec:\n    uVar38 = 0xdd;\nLAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);\n    if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }\n    pIVar54 = (Image *)0x0;\n  }" { (labeled_statement "LAB_002b68ec:\n    uVar38 = 0xdd;" statement_identifier : (expression_statement "uVar38 = 0xdd;" (assignment_expression "uVar38 = 0xdd" identifier = number_literal) ;)) (labeled_statement "LAB_002b68f4:\n    puVar9 = PTR_s_courses_003a88ec + -400;" statement_identifier : (expression_statement "puVar9 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar9 = PTR_s_courses_003a88ec + -400" identifier = (binary_expression "PTR_s_courses_003a88ec + -400" identifier + number_literal)) ;)) (labeled_statement "LAB_002b6920:\n    pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" statement_identifier : (expression_statement "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pEVar36 = (ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(ExceptionInfo *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;)) (expression_statement "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pIVar34 = (Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(Image *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,pIVar34,pEVar36,uVar38,0x1a9,puVar9,PTR_LAB_003a88e0 + 0x3e28,\n               image_info->filename)" ( identifier , identifier , identifier , identifier , number_literal , identifier , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) (if_statement "if (pIVar7 != (Image *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }" if (parenthesized_expression "(pIVar7 != (Image *)0x0)" ( (binary_expression "pIVar7 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);\n      (*(code *)PTR_DestroyImageList_003a9510)(pIVar7);\n    }" { (labeled_statement "LAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pIVar7);" statement_identifier : (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pIVar7);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pIVar7)" (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 "(pIVar7)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pIVar7);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pIVar7)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar7)" ( identifier ))) ;) })) (expression_statement "pIVar54 = (Image *)0x0;" (assignment_expression "pIVar54 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_002b6964:\n  if (pCVar6 == *(CompressionType **)puVar61) {\n    return pIVar54;\n  }" statement_identifier : (if_statement "if (pCVar6 == *(CompressionType **)puVar61) {\n    return pIVar54;\n  }" if (parenthesized_expression "(pCVar6 == *(CompressionType **)puVar61)" ( (binary_expression "pCVar6 == *(CompressionType **)puVar61" identifier == (pointer_expression "*(CompressionType **)puVar61" * (cast_expression "(CompressionType **)puVar61" ( (type_descriptor "CompressionType **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return pIVar54;\n  }" { (return_statement "return pIVar54;" return identifier ;) }))) (expression_statement "puVar61 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar61 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (pCVar6 == (CompressionType *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }" if (parenthesized_expression "(pCVar6 == (CompressionType *)0x0)" ( (binary_expression "pCVar6 == (CompressionType *)0x0" identifier == (cast_expression "(CompressionType *)0x0" ( (type_descriptor "CompressionType *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);" (assignment_expression "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1af4)" * (pointer_expression "*(code **)(puVar61 + 0xf1af4)" * (cast_expression "(code **)(puVar61 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1af4)" ( (binary_expression "puVar61 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar61 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0xd78" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (expression_statement "iVar8 = *(int *)(puVar61 + 0xf0e38);" (assignment_expression "iVar8 = *(int *)(puVar61 + 0xf0e38)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) ))))) ;) (if_statement "if (pCVar6[0xc85] != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);\n    return pIVar34;\n  }" if (parenthesized_expression "(pCVar6[0xc85] != 0xabacadab)" ( (binary_expression "pCVar6[0xc85] != 0xabacadab" (subscript_expression "pCVar6[0xc85]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798);" (assignment_expression "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798)" identifier = (cast_expression "(Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1af4)" * (pointer_expression "*(code **)(puVar61 + 0xf1af4)" * (cast_expression "(code **)(puVar61 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1af4)" ( (binary_expression "puVar61 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar61 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fd,iVar8 + 0x3798)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0xda0" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (pIVar34 == (Image *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);\n    return pIVar34;\n  }" if (parenthesized_expression "(pIVar34 == (Image *)0x0)" ( (binary_expression "pIVar34 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798);" (assignment_expression "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798)" identifier = (cast_expression "(Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1af4)" * (pointer_expression "*(code **)(puVar61 + 0xf1af4)" * (cast_expression "(code **)(puVar61 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1af4)" ( (binary_expression "puVar61 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar61 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2fe,iVar8 + 0x3798)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0xdd0" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (pIVar34->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);\n    return pIVar34;\n  }" if (parenthesized_expression "(pIVar34->signature != 0xabacadab)" ( (binary_expression "pIVar34->signature != 0xabacadab" (field_expression "pIVar34->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798);" (assignment_expression "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798)" identifier = (cast_expression "(Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1af4)" * (pointer_expression "*(code **)(puVar61 + 0xf1af4)" * (cast_expression "(code **)(puVar61 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1af4)" ( (binary_expression "puVar61 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar61 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x2ff,iVar8 + 0x3798)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + -0x3784" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (pIVar34->debug != MagickFalse) {\n    (**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);\n  }" if (parenthesized_expression "(pIVar34->debug != MagickFalse)" ( (binary_expression "pIVar34->debug != MagickFalse" (field_expression "pIVar34->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    (**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);\n  }" { (expression_statement "(**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename);" (call_expression "(**(code **)(puVar61 + 0xf16cc))\n              (0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename)" (parenthesized_expression "(**(code **)(puVar61 + 0xf16cc))" ( (pointer_expression "**(code **)(puVar61 + 0xf16cc)" * (pointer_expression "*(code **)(puVar61 + 0xf16cc)" * (cast_expression "(code **)(puVar61 + 0xf16cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf16cc)" ( (binary_expression "puVar61 + 0xf16cc" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar61 + 0xf0dd0) + -0x62ac,pIVar34->filename)" ( number_literal , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x62ac" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) , (field_expression "pIVar34->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (pEVar36 == (ExceptionInfo *)0x0) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }" if (parenthesized_expression "(pEVar36 == (ExceptionInfo *)0x0)" ( (binary_expression "pEVar36 == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);" (assignment_expression "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1af4)" * (pointer_expression "*(code **)(puVar61 + 0xf1af4)" * (cast_expression "(code **)(puVar61 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1af4)" ( (binary_expression "puVar61 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar61 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1cac" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (if_statement "if (pEVar36->signature != 0xabacadab) {\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }" if (parenthesized_expression "(pEVar36->signature != 0xabacadab)" ( (binary_expression "pEVar36->signature != 0xabacadab" (field_expression "pEVar36->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);\n    return pIVar34;\n  }" { (expression_statement "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798);" (assignment_expression "pIVar34 = (Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(Image *)(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf1af4))\n                                 (*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1af4)" * (pointer_expression "*(code **)(puVar61 + 0xf1af4)" * (cast_expression "(code **)(puVar61 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1af4)" ( (binary_expression "puVar61 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar61 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar61 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x294c" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pIVar34;" return identifier ;) })) (expression_statement "iVar8 = (**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36);" (assignment_expression "iVar8 = (**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36)" identifier = (call_expression "(**(code **)(puVar61 + 0xf1738))(pCVar6,pIVar34,4,pEVar36)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1738))" ( (pointer_expression "**(code **)(puVar61 + 0xf1738)" * (pointer_expression "*(code **)(puVar61 + 0xf1738)" * (cast_expression "(code **)(puVar61 + 0xf1738)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1738)" ( (binary_expression "puVar61 + 0xf1738" identifier + number_literal) ))))) )) (argument_list "(pCVar6,pIVar34,4,pEVar36)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n    return (Image *)0x0;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    return (Image *)0x0;\n  }" { (return_statement "return (Image *)0x0;" return (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if ((0xffff < pIVar34->columns) || (0xffff < pIVar34->rows)) {\n    (**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename);\n    pIVar7 = pIVar34;\n    if (pCVar6[3] == UndefinedCompression) {\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }\n    else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" if (parenthesized_expression "((0xffff < pIVar34->columns) || (0xffff < pIVar34->rows))" ( (binary_expression "(0xffff < pIVar34->columns) || (0xffff < pIVar34->rows)" (parenthesized_expression "(0xffff < pIVar34->columns)" ( (binary_expression "0xffff < pIVar34->columns" number_literal < (field_expression "pIVar34->columns" identifier -> field_identifier)) )) || (parenthesized_expression "(0xffff < pIVar34->rows)" ( (binary_expression "0xffff < pIVar34->rows" number_literal < (field_expression "pIVar34->rows" identifier -> field_identifier)) ))) )) (compound_statement "{\n    (**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename);\n    pIVar7 = pIVar34;\n    if (pCVar6[3] == UndefinedCompression) {\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }\n    else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" { (expression_statement "(**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename);" (call_expression "(**(code **)(puVar61 + 0xf140c))\n              (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename)" (parenthesized_expression "(**(code **)(puVar61 + 0xf140c))" ( (pointer_expression "**(code **)(puVar61 + 0xf140c)" * (pointer_expression "*(code **)(puVar61 + 0xf140c)" * (cast_expression "(code **)(puVar61 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf140c)" ( (binary_expression "puVar61 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28\n               ,pIVar34->filename)" ( identifier , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (field_expression "pIVar34->filename" identifier -> field_identifier) ))) ;) (expression_statement "pIVar7 = pIVar34;" (assignment_expression "pIVar7 = pIVar34" identifier = identifier) ;) (if_statement "if (pCVar6[3] == UndefinedCompression) {\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }\n    else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }" if (parenthesized_expression "(pCVar6[3] == UndefinedCompression)" ( (binary_expression "pCVar6[3] == UndefinedCompression" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n    }" { (expression_statement "pcVar62 = *(code **)(puVar61 + 0xf1b74);" (assignment_expression "pcVar62 = *(code **)(puVar61 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }" else (compound_statement "{\n      do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);\n    }" { (do_statement "do {\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      } while (pIVar34->previous != (_Image *)0x0);" do (compound_statement "{\n        pIVar34 = pIVar7;\n        pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        pIVar7 = pIVar34->previous;\n      }" { (expression_statement "pIVar34 = pIVar7;" (assignment_expression "pIVar34 = pIVar7" identifier = identifier) ;) (expression_statement "pcVar62 = *(code **)(puVar61 + 0xf1b74);" (assignment_expression "pcVar62 = *(code **)(puVar61 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pIVar7 = pIVar34->previous;" (assignment_expression "pIVar7 = pIVar34->previous" identifier = (field_expression "pIVar34->previous" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pIVar34->previous != (_Image *)0x0)" ( (binary_expression "pIVar34->previous != (_Image *)0x0" (field_expression "pIVar34->previous" identifier -> field_identifier) != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (goto_statement "goto LAB_002b7c64;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar61 + 0xf166c))(pIVar34,0x17,pEVar36);" (call_expression "(**(code **)(puVar61 + 0xf166c))(pIVar34,0x17,pEVar36)" (parenthesized_expression "(**(code **)(puVar61 + 0xf166c))" ( (pointer_expression "**(code **)(puVar61 + 0xf166c)" * (pointer_expression "*(code **)(puVar61 + 0xf166c)" * (cast_expression "(code **)(puVar61 + 0xf166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf166c)" ( (binary_expression "puVar61 + 0xf166c" identifier + number_literal) ))))) )) (argument_list "(pIVar34,0x17,pEVar36)" ( identifier , number_literal , identifier ))) ;) (expression_statement "CVar26 = *pCVar6;" (assignment_expression "CVar26 = *pCVar6" identifier = (pointer_expression "*pCVar6" * identifier)) ;) (if_statement "if (*pCVar6 == UndefinedCompression) {\n    CVar26 = pIVar34->compression;\n  }" if (parenthesized_expression "(*pCVar6 == UndefinedCompression)" ( (binary_expression "*pCVar6 == UndefinedCompression" (pointer_expression "*pCVar6" * identifier) == identifier) )) (compound_statement "{\n    CVar26 = pIVar34->compression;\n  }" { (expression_statement "CVar26 = pIVar34->compression;" (assignment_expression "CVar26 = pIVar34->compression" identifier = (field_expression "pIVar34->compression" identifier -> field_identifier)) ;) })) (expression_statement "iVar8 = (**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36);" (assignment_expression "iVar8 = (**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36)" identifier = (call_expression "(**(code **)(puVar61 + 0xf18e8))(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36)" (parenthesized_expression "(**(code **)(puVar61 + 0xf18e8))" ( (pointer_expression "**(code **)(puVar61 + 0xf18e8)" * (pointer_expression "*(code **)(puVar61 + 0xf18e8)" * (cast_expression "(code **)(puVar61 + 0xf18e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf18e8)" ( (binary_expression "puVar61 + 0xf18e8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,*(int *)(puVar61 + 0xf0dd4) + -0x1928,pEVar36)" ( identifier , (binary_expression "*(int *)(puVar61 + 0xf0dd4) + -0x1928" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n    uVar19 = 0;\n  }\n  else {\n    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);\n    if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar19 = 0;\n  }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);\n    if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }\n  }" else (compound_statement "{\n    uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);\n    if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }\n  }" { (expression_statement "uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8);" (assignment_expression "uVar19 = (**(code **)(puVar61 + 0xf1824))(iVar8)" identifier = (call_expression "(**(code **)(puVar61 + 0xf1824))(iVar8)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1824))" ( (pointer_expression "**(code **)(puVar61 + 0xf1824)" * (pointer_expression "*(code **)(puVar61 + 0xf1824)" * (cast_expression "(code **)(puVar61 + 0xf1824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1824)" ( (binary_expression "puVar61 + 0xf1824" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (uVar19 < 0xff) {\n      uVar19 = uVar19 & 0xff;\n    }\n    else {\n      uVar19 = 0xff;\n    }" if (parenthesized_expression "(uVar19 < 0xff)" ( (binary_expression "uVar19 < 0xff" identifier < number_literal) )) (compound_statement "{\n      uVar19 = uVar19 & 0xff;\n    }" { (expression_statement "uVar19 = uVar19 & 0xff;" (assignment_expression "uVar19 = uVar19 & 0xff" identifier = (binary_expression "uVar19 & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\n      uVar19 = 0xff;\n    }" else (compound_statement "{\n      uVar19 = 0xff;\n    }" { (expression_statement "uVar19 = 0xff;" (assignment_expression "uVar19 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "uVar59 = pIVar34->columns;" (assignment_expression "uVar59 = pIVar34->columns" identifier = (field_expression "pIVar34->columns" identifier -> field_identifier)) ;) (expression_statement "uVar44 = pIVar34->rows;" (assignment_expression "uVar44 = pIVar34->rows" identifier = (field_expression "pIVar34->rows" identifier -> field_identifier)) ;) (expression_statement "sVar45 = uVar59;" (assignment_expression "sVar45 = uVar59" identifier = identifier) ;) (if_statement "if (((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||\n     (pIVar34->alpha_trait != UndefinedPixelTrait)) {\nLAB_002b7d90:\n    if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar33 = 10;\n    PVar30 = pIVar34->alpha_trait;\n    if (CVar26 != RLECompression) {\n      uVar33 = 2;\n    }\n    if (pCVar6[0xc] == DXT3Compression) {\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }\n    else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }\n  }\n  else {\n    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);\n    sVar45 = pIVar34->columns;\n    if (iVar43 == 0) goto LAB_002b7d90;\n    bVar42 = 0;\n    uVar38 = 8;\n    uVar33 = 0xb;\n    uVar20 = 0;\n    if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }\n    uVar40 = 0;\n    iVar43 = 0;\n  }" if (parenthesized_expression "(((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||\n     (pIVar34->alpha_trait != UndefinedPixelTrait))" ( (binary_expression "((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)) ||\n     (pIVar34->alpha_trait != UndefinedPixelTrait)" (parenthesized_expression "((pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression))" ( (binary_expression "(pCVar6[0x76] - DXT5Compression < 2) || (pCVar6[0x76] == DXT1Compression)" (parenthesized_expression "(pCVar6[0x76] - DXT5Compression < 2)" ( (binary_expression "pCVar6[0x76] - DXT5Compression < 2" (binary_expression "pCVar6[0x76] - DXT5Compression" (subscript_expression "pCVar6[0x76]" identifier [ number_literal ]) - identifier) < number_literal) )) || (parenthesized_expression "(pCVar6[0x76] == DXT1Compression)" ( (binary_expression "pCVar6[0x76] == DXT1Compression" (subscript_expression "pCVar6[0x76]" identifier [ number_literal ]) == identifier) ))) )) || (parenthesized_expression "(pIVar34->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) != identifier) ))) )) (compound_statement "{\nLAB_002b7d90:\n    if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar33 = 10;\n    PVar30 = pIVar34->alpha_trait;\n    if (CVar26 != RLECompression) {\n      uVar33 = 2;\n    }\n    if (pCVar6[0xc] == DXT3Compression) {\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }\n    else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }\n  }" { (labeled_statement "LAB_002b7d90:\n    if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" statement_identifier : (if_statement "if (pIVar34->storage_class != DirectClass) {\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" if (parenthesized_expression "(pIVar34->storage_class != DirectClass)" ( (binary_expression "pIVar34->storage_class != DirectClass" (field_expression "pIVar34->storage_class" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      uVar33 = 9;\n      if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" { (expression_statement "uVar33 = 9;" (assignment_expression "uVar33 = 9" identifier = number_literal) ;) (if_statement "if (pIVar34->colors < 0x101) {\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" if (parenthesized_expression "(pIVar34->colors < 0x101)" ( (binary_expression "pIVar34->colors < 0x101" (field_expression "pIVar34->colors" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n        bVar42 = 0;\n        uVar38 = 8;\n        if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }\n        uVar20 = 0x10;\n        iVar43 = 1;\n        uVar40 = pIVar34->colors & 0xffff;\n        if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" { (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = 8;" (assignment_expression "uVar38 = 8" identifier = number_literal) ;) (if_statement "if (CVar26 != RLECompression) {\n          uVar33 = 1;\n        }" if (parenthesized_expression "(CVar26 != RLECompression)" ( (binary_expression "CVar26 != RLECompression" identifier != identifier) )) (compound_statement "{\n          uVar33 = 1;\n        }" { (expression_statement "uVar33 = 1;" (assignment_expression "uVar33 = 1" identifier = number_literal) ;) })) (expression_statement "uVar20 = 0x10;" (assignment_expression "uVar20 = 0x10" identifier = number_literal) ;) (expression_statement "iVar43 = 1;" (assignment_expression "iVar43 = 1" identifier = number_literal) ;) (expression_statement "uVar40 = pIVar34->colors & 0xffff;" (assignment_expression "uVar40 = pIVar34->colors & 0xffff" identifier = (binary_expression "pIVar34->colors & 0xffff" (field_expression "pIVar34->colors" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (pCVar6[0xc] != DXT3Compression) {\n          uVar20 = 0x18;\n        }" if (parenthesized_expression "(pCVar6[0xc] != DXT3Compression)" ( (binary_expression "pCVar6[0xc] != DXT3Compression" (subscript_expression "pCVar6[0xc]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          uVar20 = 0x18;\n        }" { (expression_statement "uVar20 = 0x18;" (assignment_expression "uVar20 = 0x18" identifier = number_literal) ;) })) (goto_statement "goto LAB_002b7de4;" goto statement_identifier ;) })) }))) (expression_statement "uVar33 = 10;" (assignment_expression "uVar33 = 10" identifier = number_literal) ;) (expression_statement "PVar30 = pIVar34->alpha_trait;" (assignment_expression "PVar30 = pIVar34->alpha_trait" identifier = (field_expression "pIVar34->alpha_trait" identifier -> field_identifier)) ;) (if_statement "if (CVar26 != RLECompression) {\n      uVar33 = 2;\n    }" if (parenthesized_expression "(CVar26 != RLECompression)" ( (binary_expression "CVar26 != RLECompression" identifier != identifier) )) (compound_statement "{\n      uVar33 = 2;\n    }" { (expression_statement "uVar33 = 2;" (assignment_expression "uVar33 = 2" identifier = number_literal) ;) })) (if_statement "if (pCVar6[0xc] == DXT3Compression) {\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }\n    else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }" if (parenthesized_expression "(pCVar6[0xc] == DXT3Compression)" ( (binary_expression "pCVar6[0xc] == DXT3Compression" (subscript_expression "pCVar6[0xc]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n      bVar42 = PVar30 != UndefinedPixelTrait;\n      uVar20 = 0;\n      uVar38 = 0x10;\n      uVar40 = 0;\n      iVar43 = 0;\n    }" { (expression_statement "bVar42 = PVar30 != UndefinedPixelTrait;" (assignment_expression "bVar42 = PVar30 != UndefinedPixelTrait" identifier = (binary_expression "PVar30 != UndefinedPixelTrait" identifier != identifier)) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = 0x10;" (assignment_expression "uVar38 = 0x10" identifier = number_literal) ;) (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;) (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }" else (compound_statement "{\n      uVar38 = 0x18;\n      bVar42 = 8;\n      if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }\n      uVar20 = 0;\n      uVar40 = 0;\n      if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }\n      iVar43 = 0;\n    }" { (expression_statement "uVar38 = 0x18;" (assignment_expression "uVar38 = 0x18" identifier = number_literal) ;) (expression_statement "bVar42 = 8;" (assignment_expression "bVar42 = 8" identifier = number_literal) ;) (if_statement "if (PVar30 != UndefinedPixelTrait) {\n        uVar38 = 0x20;\n      }" if (parenthesized_expression "(PVar30 != UndefinedPixelTrait)" ( (binary_expression "PVar30 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n        uVar38 = 0x20;\n      }" { (expression_statement "uVar38 = 0x20;" (assignment_expression "uVar38 = 0x20" identifier = number_literal) ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;) (if_statement "if (PVar30 == UndefinedPixelTrait) {\n        bVar42 = 0;\n      }" if (parenthesized_expression "(PVar30 == UndefinedPixelTrait)" ( (binary_expression "PVar30 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n        bVar42 = 0;\n      }" { (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) })) (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);\n    sVar45 = pIVar34->columns;\n    if (iVar43 == 0) goto LAB_002b7d90;\n    bVar42 = 0;\n    uVar38 = 8;\n    uVar33 = 0xb;\n    uVar20 = 0;\n    if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }\n    uVar40 = 0;\n    iVar43 = 0;\n  }" else (compound_statement "{\n    iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);\n    sVar45 = pIVar34->columns;\n    if (iVar43 == 0) goto LAB_002b7d90;\n    bVar42 = 0;\n    uVar38 = 8;\n    uVar33 = 0xb;\n    uVar20 = 0;\n    if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }\n    uVar40 = 0;\n    iVar43 = 0;\n  }" { (expression_statement "iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36);" (assignment_expression "iVar43 = (**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36)" identifier = (call_expression "(**(code **)(puVar61 + 0xf1490))(pIVar34,pEVar36)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1490))" ( (pointer_expression "**(code **)(puVar61 + 0xf1490)" * (pointer_expression "*(code **)(puVar61 + 0xf1490)" * (cast_expression "(code **)(puVar61 + 0xf1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1490)" ( (binary_expression "puVar61 + 0xf1490" identifier + number_literal) ))))) )) (argument_list "(pIVar34,pEVar36)" ( identifier , identifier )))) ;) (expression_statement "sVar45 = pIVar34->columns;" (assignment_expression "sVar45 = pIVar34->columns" identifier = (field_expression "pIVar34->columns" identifier -> field_identifier)) ;) (if_statement "if (iVar43 == 0) goto LAB_002b7d90;" if (parenthesized_expression "(iVar43 == 0)" ( (binary_expression "iVar43 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002b7d90;" goto statement_identifier ;)) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "uVar38 = 8;" (assignment_expression "uVar38 = 8" identifier = number_literal) ;) (expression_statement "uVar33 = 0xb;" (assignment_expression "uVar33 = 0xb" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (if_statement "if (CVar26 != RLECompression) {\n      uVar33 = 3;\n    }" if (parenthesized_expression "(CVar26 != RLECompression)" ( (binary_expression "CVar26 != RLECompression" identifier != identifier) )) (compound_statement "{\n      uVar33 = 3;\n    }" { (expression_statement "uVar33 = 3;" (assignment_expression "uVar33 = 3" identifier = number_literal) ;) })) (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;) (expression_statement "iVar43 = 0;" (assignment_expression "iVar43 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_002b7de4:\n  if (pIVar34->orientation - TopRightOrientation < 2) {\n    bVar42 = bVar42 | 0x10;\n  }" statement_identifier : (if_statement "if (pIVar34->orientation - TopRightOrientation < 2) {\n    bVar42 = bVar42 | 0x10;\n  }" if (parenthesized_expression "(pIVar34->orientation - TopRightOrientation < 2)" ( (binary_expression "pIVar34->orientation - TopRightOrientation < 2" (binary_expression "pIVar34->orientation - TopRightOrientation" (field_expression "pIVar34->orientation" identifier -> field_identifier) - identifier) < number_literal) )) (compound_statement "{\n    bVar42 = bVar42 | 0x10;\n  }" { (expression_statement "bVar42 = bVar42 | 0x10;" (assignment_expression "bVar42 = bVar42 | 0x10" identifier = (binary_expression "bVar42 | 0x10" identifier | number_literal)) ;) }))) (if_statement "if (pIVar34->orientation < BottomRightOrientation) {\n    bVar42 = bVar42 | 0x20;\n  }" if (parenthesized_expression "(pIVar34->orientation < BottomRightOrientation)" ( (binary_expression "pIVar34->orientation < BottomRightOrientation" (field_expression "pIVar34->orientation" identifier -> field_identifier) < identifier) )) (compound_statement "{\n    bVar42 = bVar42 | 0x20;\n  }" { (expression_statement "bVar42 = bVar42 | 0x20;" (assignment_expression "bVar42 = bVar42 | 0x20" identifier = (binary_expression "bVar42 | 0x20" identifier | number_literal)) ;) })) (if_statement "if ((sVar45 < 0x10000) && (pIVar34->rows < 0x10000)) {\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);\n    if (uVar19 != 0) {\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }\n    if (iVar43 != 0) {\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }\n    sVar45 = pIVar34->number_channels;\n    if (0 < (int)pIVar34->rows) {\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }\n    (**(code **)(puVar61 + 0xf1b74))(pIVar34);\n    return (Image *)0x1;\n  }" if (parenthesized_expression "((sVar45 < 0x10000) && (pIVar34->rows < 0x10000))" ( (binary_expression "(sVar45 < 0x10000) && (pIVar34->rows < 0x10000)" (parenthesized_expression "(sVar45 < 0x10000)" ( (binary_expression "sVar45 < 0x10000" identifier < number_literal) )) && (parenthesized_expression "(pIVar34->rows < 0x10000)" ( (binary_expression "pIVar34->rows < 0x10000" (field_expression "pIVar34->rows" identifier -> field_identifier) < number_literal) ))) )) (compound_statement "{\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,0);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);\n    (**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);\n    (**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);\n    if (uVar19 != 0) {\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }\n    if (iVar43 != 0) {\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }\n    sVar45 = pIVar34->number_channels;\n    if (0 < (int)pIVar34->rows) {\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }\n    (**(code **)(puVar61 + 0xf1b74))(pIVar34);\n    return (Image *)0x1;\n  }" { (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar19)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar19)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar43)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,iVar43)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar33)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar33)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf1de4))(pIVar34,0);" (call_expression "(**(code **)(puVar61 + 0xf1de4))(pIVar34,0)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1de4)" * (pointer_expression "*(code **)(puVar61 + 0xf1de4)" * (cast_expression "(code **)(puVar61 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1de4)" ( (binary_expression "puVar61 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pIVar34,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40);" (call_expression "(**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar40)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1de4)" * (pointer_expression "*(code **)(puVar61 + 0xf1de4)" * (cast_expression "(code **)(puVar61 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1de4)" ( (binary_expression "puVar61 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar40)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar20)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf1de4))(pIVar34,0);" (call_expression "(**(code **)(puVar61 + 0xf1de4))(pIVar34,0)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1de4)" * (pointer_expression "*(code **)(puVar61 + 0xf1de4)" * (cast_expression "(code **)(puVar61 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1de4)" ( (binary_expression "puVar61 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pIVar34,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf1de4))(pIVar34,0);" (call_expression "(**(code **)(puVar61 + 0xf1de4))(pIVar34,0)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1de4)" * (pointer_expression "*(code **)(puVar61 + 0xf1de4)" * (cast_expression "(code **)(puVar61 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1de4)" ( (binary_expression "puVar61 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pIVar34,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff);" (call_expression "(**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar59 & 0xffff)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1de4)" * (pointer_expression "*(code **)(puVar61 + 0xf1de4)" * (cast_expression "(code **)(puVar61 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1de4)" ( (binary_expression "puVar61 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar59 & 0xffff)" ( identifier , (binary_expression "uVar59 & 0xffff" identifier & number_literal) ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff);" (call_expression "(**(code **)(puVar61 + 0xf1de4))(pIVar34,uVar44 & 0xffff)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar61 + 0xf1de4)" * (pointer_expression "*(code **)(puVar61 + 0xf1de4)" * (cast_expression "(code **)(puVar61 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1de4)" ( (binary_expression "puVar61 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44 & 0xffff)" ( identifier , (binary_expression "uVar44 & 0xffff" identifier & number_literal) ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar38)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar38)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,bVar42)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,bVar42)" ( identifier , identifier ))) ;) (if_statement "if (uVar19 != 0) {\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }" if (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);\n    }" { (expression_statement "(**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8);" (call_expression "(**(code **)(puVar61 + 0xf1e80))(pIVar34,uVar19,iVar8)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1e80))" ( (pointer_expression "**(code **)(puVar61 + 0xf1e80)" * (pointer_expression "*(code **)(puVar61 + 0xf1e80)" * (cast_expression "(code **)(puVar61 + 0xf1e80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1e80)" ( (binary_expression "puVar61 + 0xf1e80" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar19,iVar8)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar43 != 0) {\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }" if (parenthesized_expression "(iVar43 != 0)" ( (binary_expression "iVar43 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);\n      if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      sVar45 = pIVar34->colors;\n      if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }\n      (**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);\n      (**(code **)(puVar61 + 0xf14ac))(pbVar23);\n    }" { (expression_statement "pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40);" (assignment_expression "pbVar23 = (byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40)" identifier = (cast_expression "(byte *)(**(code **)(puVar61 + 0xf19f8))(uVar40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar61 + 0xf19f8))(uVar40)" (parenthesized_expression "(**(code **)(puVar61 + 0xf19f8))" ( (pointer_expression "**(code **)(puVar61 + 0xf19f8)" * (pointer_expression "*(code **)(puVar61 + 0xf19f8)" * (cast_expression "(code **)(puVar61 + 0xf19f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf19f8)" ( (binary_expression "puVar61 + 0xf19f8" identifier + number_literal) ))))) )) (argument_list "(uVar40)" ( identifier ))))) ;) (if_statement "if (pbVar23 == (byte *)0x0) {\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" if (parenthesized_expression "(pbVar23 == (byte *)0x0)" ( (binary_expression "pbVar23 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);\n        pIVar7 = pIVar34;\n        if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" { (expression_statement "(**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename);" (call_expression "(**(code **)(puVar61 + 0xf140c))\n                  (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename)" (parenthesized_expression "(**(code **)(puVar61 + 0xf140c))" ( (pointer_expression "**(code **)(puVar61 + 0xf140c)" * (pointer_expression "*(code **)(puVar61 + 0xf140c)" * (cast_expression "(code **)(puVar61 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf140c)" ( (binary_expression "puVar61 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar61 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar61 + 0xf0dcc) + 0x3e28,pIVar34->filename)" ( identifier , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x16f8" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (field_expression "pIVar34->filename" identifier -> field_identifier) ))) ;) (expression_statement "pIVar7 = pIVar34;" (assignment_expression "pIVar7 = pIVar34" identifier = identifier) ;) (if_statement "if (pCVar6[3] == UndefinedCompression) {\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }\n        else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }" if (parenthesized_expression "(pCVar6[3] == UndefinedCompression)" ( (binary_expression "pCVar6[3] == UndefinedCompression" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n          pcVar62 = *(code **)(puVar61 + 0xf1b74);\n        }" { (expression_statement "pcVar62 = *(code **)(puVar61 + 0xf1b74);" (assignment_expression "pcVar62 = *(code **)(puVar61 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }" else (compound_statement "{\n          do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);\n        }" { (do_statement "do {\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          } while (pIVar34->previous != (_Image *)0x0);" do (compound_statement "{\n            pIVar34 = pIVar7;\n            pcVar62 = *(code **)(puVar61 + 0xf1b74);\n            pIVar7 = pIVar34->previous;\n          }" { (expression_statement "pIVar34 = pIVar7;" (assignment_expression "pIVar34 = pIVar7" identifier = identifier) ;) (expression_statement "pcVar62 = *(code **)(puVar61 + 0xf1b74);" (assignment_expression "pcVar62 = *(code **)(puVar61 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pIVar7 = pIVar34->previous;" (assignment_expression "pIVar7 = pIVar34->previous" identifier = (field_expression "pIVar34->previous" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pIVar34->previous != (_Image *)0x0)" ( (binary_expression "pIVar34->previous != (_Image *)0x0" (field_expression "pIVar34->previous" identifier -> field_identifier) != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (goto_statement "goto LAB_002b7c64;" goto statement_identifier ;) })) (expression_statement "sVar45 = pIVar34->colors;" (assignment_expression "sVar45 = pIVar34->colors" identifier = (field_expression "pIVar34->colors" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar45) {\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }" if (parenthesized_expression "(0 < (int)sVar45)" ( (binary_expression "0 < (int)sVar45" number_literal < (cast_expression "(int)sVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar56 = *(int *)(puVar61 + 0xf0dcc);\n        sVar47 = 0;\n        iVar21 = *(int *)(puVar61 + 0xf0dcc);\n        dVar75 = *(double *)(iVar56 + 0x1400);\n        iVar43 = *(int *)(puVar61 + 0xf0dd4);\n        dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);\n        iVar8 = *(int *)(puVar61 + 0xf0dd8);\n        dVar73 = *(double *)(iVar43 + -0x5ae8);\n        iVar55 = *(int *)(puVar61 + 0xf0dcc);\n        dVar63 = *(double *)(iVar8 + -0x62d8);\n        iVar27 = *(int *)(puVar61 + 0xf0dcc);\n        dVar76 = *(double *)(iVar21 + 0x1a60);\n        dVar71 = *(double *)(iVar55 + 0x1410);\n        pPVar57 = pIVar34->colormap;\n        dVar66 = *(double *)(iVar27 + 0x1a58);\n        CVar58 = pCVar6[0xc];\n        iVar52 = 0;\n        fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);\n        pbVar53 = pbVar23;\n        dVar77 = dVar71;\n        dVar79 = dVar78;\n        dVar70 = dVar78;\n        dVar72 = dVar73;\n        do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);\n      }" { (expression_statement "iVar56 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar56 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "sVar47 = 0;" (assignment_expression "sVar47 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar21 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar75 = *(double *)(iVar56 + 0x1400);" (assignment_expression "dVar75 = *(double *)(iVar56 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar56 + 0x1400)" * (cast_expression "(double *)(iVar56 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1400)" ( (binary_expression "iVar56 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "iVar43 = *(int *)(puVar61 + 0xf0dd4);" (assignment_expression "iVar43 = *(int *)(puVar61 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0);" (assignment_expression "dVar78 = *(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd4) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + -0x5af0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + -0x5af0" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar61 + 0xf0dd8);" (assignment_expression "iVar8 = *(int *)(puVar61 + 0xf0dd8)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) ))))) ;) (expression_statement "dVar73 = *(double *)(iVar43 + -0x5ae8);" (assignment_expression "dVar73 = *(double *)(iVar43 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar43 + -0x5ae8)" * (cast_expression "(double *)(iVar43 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5ae8)" ( (binary_expression "iVar43 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "iVar55 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar55 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar63 = *(double *)(iVar8 + -0x62d8);" (assignment_expression "dVar63 = *(double *)(iVar8 + -0x62d8)" identifier = (pointer_expression "*(double *)(iVar8 + -0x62d8)" * (cast_expression "(double *)(iVar8 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x62d8)" ( (binary_expression "iVar8 + -0x62d8" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar27 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar76 = *(double *)(iVar21 + 0x1a60);" (assignment_expression "dVar76 = *(double *)(iVar21 + 0x1a60)" identifier = (pointer_expression "*(double *)(iVar21 + 0x1a60)" * (cast_expression "(double *)(iVar21 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1a60)" ( (binary_expression "iVar21 + 0x1a60" identifier + number_literal) ))))) ;) (expression_statement "dVar71 = *(double *)(iVar55 + 0x1410);" (assignment_expression "dVar71 = *(double *)(iVar55 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar55 + 0x1410)" * (cast_expression "(double *)(iVar55 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar55 + 0x1410)" ( (binary_expression "iVar55 + 0x1410" identifier + number_literal) ))))) ;) (expression_statement "pPVar57 = pIVar34->colormap;" (assignment_expression "pPVar57 = pIVar34->colormap" identifier = (field_expression "pIVar34->colormap" identifier -> field_identifier)) ;) (expression_statement "dVar66 = *(double *)(iVar27 + 0x1a58);" (assignment_expression "dVar66 = *(double *)(iVar27 + 0x1a58)" identifier = (pointer_expression "*(double *)(iVar27 + 0x1a58)" * (cast_expression "(double *)(iVar27 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1a58)" ( (binary_expression "iVar27 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "CVar58 = pCVar6[0xc];" (assignment_expression "CVar58 = pCVar6[0xc]" identifier = (subscript_expression "pCVar6[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar52 = 0;" (assignment_expression "iVar52 = 0" identifier = number_literal) ;) (expression_statement "fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708);" (assignment_expression "fVar69 = *(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" identifier = (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pbVar53 = pbVar23;" (assignment_expression "pbVar53 = pbVar23" identifier = identifier) ;) (expression_statement "dVar77 = dVar71;" (assignment_expression "dVar77 = dVar71" identifier = identifier) ;) (expression_statement "dVar79 = dVar78;" (assignment_expression "dVar79 = dVar78" identifier = identifier) ;) (expression_statement "dVar70 = dVar78;" (assignment_expression "dVar70 = dVar78" identifier = identifier) ;) (expression_statement "dVar72 = dVar73;" (assignment_expression "dVar72 = dVar73" identifier = identifier) ;) (do_statement "do {\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        } while (sVar45 != sVar47);" do (compound_statement "{\n          fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);\n          if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }\nLAB_002b97b4:\n          sVar47 = sVar47 + 1;\n          iVar52 = iVar52 + 0x58;\n          pbVar53 = pbVar29;\n        }" { (expression_statement "fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52);" (assignment_expression "fVar65 = (float)*(double *)((int)&pPVar57->blue + iVar52)" identifier = (cast_expression "(float)*(double *)((int)&pPVar57->blue + iVar52)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pPVar57->blue + iVar52)" * (cast_expression "(double *)((int)&pPVar57->blue + iVar52)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar57->blue + iVar52)" ( (binary_expression "(int)&pPVar57->blue + iVar52" (cast_expression "(int)&pPVar57->blue" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar57->blue" & (field_expression "pPVar57->blue" identifier -> field_identifier))) + identifier) )))))) ;) (if_statement "if (CVar58 == DXT3Compression) {\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }\n          else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }" if (parenthesized_expression "(CVar58 == DXT3Compression)" ( (binary_expression "CVar58 == DXT3Compression" identifier == identifier) )) (compound_statement "{\n            fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }\n            PVar30 = pIVar34->alpha_trait;\n            *pbVar53 = bVar24;\n            if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar53[1] = bVar42;\n            pbVar29 = pbVar53 + 2;\n          }" { (expression_statement "fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52);" (assignment_expression "fVar68 = (float)*(double *)((int)&pPVar57->green + iVar52)" identifier = (cast_expression "(float)*(double *)((int)&pPVar57->green + iVar52)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pPVar57->green + iVar52)" * (cast_expression "(double *)((int)&pPVar57->green + iVar52)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar57->green + iVar52)" ( (binary_expression "(int)&pPVar57->green + iVar52" (cast_expression "(int)&pPVar57->green" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar57->green" & (field_expression "pPVar57->green" identifier -> field_identifier))) + identifier) )))))) ;) (if_statement "if (fVar68 <= 0.0) {\n              bVar42 = 0;\n              bVar24 = 0;\n            }\n            else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }" if (parenthesized_expression "(fVar68 <= 0.0)" ( (binary_expression "fVar68 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n              bVar42 = 0;\n              bVar24 = 0;\n            }" { (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }" else (compound_statement "{\n              dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }\n            }" { (expression_statement "dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);" (assignment_expression "dVar64 = ((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58)" identifier = (binary_expression "((double)fVar68 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58)" (parenthesized_expression "((double)fVar68 * *(double *)(iVar8 + -0x62d8))" ( (binary_expression "(double)fVar68 * *(double *)(iVar8 + -0x62d8)" (cast_expression "(double)fVar68" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(iVar8 + -0x62d8)" * (cast_expression "(double *)(iVar8 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x62d8)" ( (binary_expression "iVar8 + -0x62d8" identifier + number_literal) ))))) )) / (pointer_expression "*(double *)(iVar27 + 0x1a58)" * (cast_expression "(double *)(iVar27 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1a58)" ( (binary_expression "iVar27 + 0x1a58" identifier + number_literal) )))))) ;) (if_statement "if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }" if (parenthesized_expression "(dVar64 < *(double *)(iVar21 + 0x1a60))" ( (binary_expression "dVar64 < *(double *)(iVar21 + 0x1a60)" identifier < (pointer_expression "*(double *)(iVar21 + 0x1a60)" * (cast_expression "(double *)(iVar21 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1a60)" ( (binary_expression "iVar21 + 0x1a60" identifier + number_literal) ))))) )) (compound_statement "{\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar64 + *(double *)(iVar56 + 0x1400))" ( (binary_expression "dVar64 + *(double *)(iVar56 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar56 + 0x1400)" * (cast_expression "(double *)(iVar56 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1400)" ( (binary_expression "iVar56 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);" (assignment_expression "bVar42 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" identifier = (call_expression "(byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" ( (binary_expression "((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_08 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_08 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_08 & 0xff)" ( (binary_expression "extraout_v1_08 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) ;) (expression_statement "bVar24 = (byte)((extraout_v1_08 & 0xff) << 5);" (assignment_expression "bVar24 = (byte)((extraout_v1_08 & 0xff) << 5)" identifier = (call_expression "(byte)((extraout_v1_08 & 0xff) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_08 & 0xff) << 5)" ( (binary_expression "(extraout_v1_08 & 0xff) << 5" (parenthesized_expression "(extraout_v1_08 & 0xff)" ( (binary_expression "extraout_v1_08 & 0xff" identifier & number_literal) )) << number_literal) )))) ;) }) (else_clause "else {\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }" else (compound_statement "{\n                bVar42 = 3;\n                bVar24 = 0xe0;\n              }" { (expression_statement "bVar42 = 3;" (assignment_expression "bVar42 = 3" identifier = number_literal) ;) (expression_statement "bVar24 = 0xe0;" (assignment_expression "bVar24 = 0xe0" identifier = number_literal) ;) }))) }))) (if_statement "if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }" if (parenthesized_expression "(0.0 < fVar65)" ( (binary_expression "0.0 < fVar65" number_literal < identifier) )) (compound_statement "{\n              dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);\n              if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }\n            }" { (expression_statement "dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58);" (assignment_expression "dVar64 = ((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58)" identifier = (binary_expression "((double)fVar65 * *(double *)(iVar8 + -0x62d8)) /\n                       *(double *)(iVar27 + 0x1a58)" (parenthesized_expression "((double)fVar65 * *(double *)(iVar8 + -0x62d8))" ( (binary_expression "(double)fVar65 * *(double *)(iVar8 + -0x62d8)" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(iVar8 + -0x62d8)" * (cast_expression "(double *)(iVar8 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x62d8)" ( (binary_expression "iVar8 + -0x62d8" identifier + number_literal) ))))) )) / (pointer_expression "*(double *)(iVar27 + 0x1a58)" * (cast_expression "(double *)(iVar27 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1a58)" ( (binary_expression "iVar27 + 0x1a58" identifier + number_literal) )))))) ;) (if_statement "if (dVar64 < *(double *)(iVar21 + 0x1a60)) {\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }\n              else {\n                bVar24 = 0xff;\n              }" if (parenthesized_expression "(dVar64 < *(double *)(iVar21 + 0x1a60))" ( (binary_expression "dVar64 < *(double *)(iVar21 + 0x1a60)" identifier < (pointer_expression "*(double *)(iVar21 + 0x1a60)" * (cast_expression "(double *)(iVar21 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1a60)" ( (binary_expression "iVar21 + 0x1a60" identifier + number_literal) ))))) )) (compound_statement "{\n                (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n                bVar24 = bVar24 | extraout_v1_10;\n              }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar64 + *(double *)(iVar56 + 0x1400))" ( (binary_expression "dVar64 + *(double *)(iVar56 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar56 + 0x1400)" * (cast_expression "(double *)(iVar56 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1400)" ( (binary_expression "iVar56 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar24 = bVar24 | extraout_v1_10;" (assignment_expression "bVar24 = bVar24 | extraout_v1_10" identifier = (binary_expression "bVar24 | extraout_v1_10" identifier | identifier)) ;) }) (else_clause "else {\n                bVar24 = 0xff;\n              }" else (compound_statement "{\n                bVar24 = 0xff;\n              }" { (expression_statement "bVar24 = 0xff;" (assignment_expression "bVar24 = 0xff" identifier = number_literal) ;) }))) })) (expression_statement "PVar30 = pIVar34->alpha_trait;" (assignment_expression "PVar30 = pIVar34->alpha_trait" identifier = (field_expression "pIVar34->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "*pbVar53 = bVar24;" (assignment_expression "*pbVar53 = bVar24" (pointer_expression "*pbVar53" * identifier) = identifier) ;) (if_statement "if ((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))) {\n              bVar42 = bVar42 | 0x80;\n            }" if (parenthesized_expression "((PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52)))" ( (binary_expression "(PVar30 != UndefinedPixelTrait) &&\n               (fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))" (parenthesized_expression "(PVar30 != UndefinedPixelTrait)" ( (binary_expression "PVar30 != UndefinedPixelTrait" identifier != identifier) )) && (parenthesized_expression "(fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52))" ( (binary_expression "fVar69 < (float)*(double *)((int)&pPVar57->alpha + iVar52)" identifier < (cast_expression "(float)*(double *)((int)&pPVar57->alpha + iVar52)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pPVar57->alpha + iVar52)" * (cast_expression "(double *)((int)&pPVar57->alpha + iVar52)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar57->alpha + iVar52)" ( (binary_expression "(int)&pPVar57->alpha + iVar52" (cast_expression "(int)&pPVar57->alpha" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar57->alpha" & (field_expression "pPVar57->alpha" identifier -> field_identifier))) + identifier) )))))) ))) )) (compound_statement "{\n              bVar42 = bVar42 | 0x80;\n            }" { (expression_statement "bVar42 = bVar42 | 0x80;" (assignment_expression "bVar42 = bVar42 | 0x80" identifier = (binary_expression "bVar42 | 0x80" identifier | number_literal)) ;) })) (expression_statement "fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);" (assignment_expression "fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52)" identifier = (cast_expression "(float)*(double *)((int)&pPVar57->red + iVar52)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pPVar57->red + iVar52)" * (cast_expression "(double *)((int)&pPVar57->red + iVar52)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar57->red + iVar52)" ( (binary_expression "(int)&pPVar57->red + iVar52" (cast_expression "(int)&pPVar57->red" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar57->red" & (field_expression "pPVar57->red" identifier -> field_identifier))) + identifier) )))))) ;) (if_statement "if (0.0 < fVar65) {\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" if (parenthesized_expression "(0.0 < fVar65)" ( (binary_expression "0.0 < fVar65" number_literal < identifier) )) (compound_statement "{\n              dVar64 = ((double)fVar65 * dVar63) / dVar66;\n              if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));\n              bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" { (expression_statement "dVar64 = ((double)fVar65 * dVar63) / dVar66;" (assignment_expression "dVar64 = ((double)fVar65 * dVar63) / dVar66" identifier = (binary_expression "((double)fVar65 * dVar63) / dVar66" (parenthesized_expression "((double)fVar65 * dVar63)" ( (binary_expression "(double)fVar65 * dVar63" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier)) ;) (if_statement "if (dVar76 <= dVar64) {\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }" if (parenthesized_expression "(dVar76 <= dVar64)" ( (binary_expression "dVar76 <= dVar64" identifier <= identifier) )) (compound_statement "{\n                pbVar29 = pbVar53 + 2;\n                pbVar53[1] = bVar42 | 0xfc;\n                goto LAB_002b97b4;\n              }" { (expression_statement "pbVar29 = pbVar53 + 2;" (assignment_expression "pbVar29 = pbVar53 + 2" identifier = (binary_expression "pbVar53 + 2" identifier + number_literal)) ;) (expression_statement "pbVar53[1] = bVar42 | 0xfc;" (assignment_expression "pbVar53[1] = bVar42 | 0xfc" (subscript_expression "pbVar53[1]" identifier [ number_literal ]) = (binary_expression "bVar42 | 0xfc" identifier | number_literal)) ;) (goto_statement "goto LAB_002b97b4;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar64 + *(double *)(iVar56 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar64 + *(double *)(iVar56 + 0x1400))" ( (binary_expression "dVar64 + *(double *)(iVar56 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar56 + 0x1400)" * (cast_expression "(double *)(iVar56 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1400)" ( (binary_expression "iVar56 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2);" (assignment_expression "bVar42 = bVar42 | (byte)((extraout_v1_09 & 0xff) << 2)" identifier = (binary_expression "bVar42 | (byte)((extraout_v1_09 & 0xff) << 2)" identifier | (call_expression "(byte)((extraout_v1_09 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_09 & 0xff) << 2)" ( (binary_expression "(extraout_v1_09 & 0xff) << 2" (parenthesized_expression "(extraout_v1_09 & 0xff)" ( (binary_expression "extraout_v1_09 & 0xff" identifier & number_literal) )) << number_literal) ))))) ;) })) (expression_statement "pbVar53[1] = bVar42;" (assignment_expression "pbVar53[1] = bVar42" (subscript_expression "pbVar53[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar29 = pbVar53 + 2;" (assignment_expression "pbVar29 = pbVar53 + 2" identifier = (binary_expression "pbVar53 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }" else (compound_statement "{\n            bVar42 = 0;\n            if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            *pbVar53 = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[1] = bVar42;\n            fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);\n            pbVar29 = pbVar53 + 3;\n            if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }\n            pbVar53[2] = bVar42;\n          }" { (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < fVar65) {\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" if (parenthesized_expression "(0.0 < fVar65)" ( (binary_expression "0.0 < fVar65" number_literal < identifier) )) (compound_statement "{\n              if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" { (if_statement "if ((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)) {\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }" if (parenthesized_expression "((double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8))" ( (binary_expression "(double)fVar65 / dVar78 < *(double *)(iVar43 + -0x5ae8)" (binary_expression "(double)fVar65 / dVar78" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) < (pointer_expression "*(double *)(iVar43 + -0x5ae8)" * (cast_expression "(double *)(iVar43 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5ae8)" ( (binary_expression "iVar43 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                dVar67 = *(double *)(iVar55 + 0x1410);\n                dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);\n                if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }\n              }" { (expression_statement "dVar67 = *(double *)(iVar55 + 0x1410);" (assignment_expression "dVar67 = *(double *)(iVar55 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar55 + 0x1410)" * (cast_expression "(double *)(iVar55 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar55 + 0x1410)" ( (binary_expression "iVar55 + 0x1410" identifier + number_literal) ))))) ;) (expression_statement "dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400);" (assignment_expression "dVar64 = (double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400)" identifier = (binary_expression "(double)fVar65 / dVar78 + *(double *)(iVar56 + 0x1400)" (binary_expression "(double)fVar65 / dVar78" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) + (pointer_expression "*(double *)(iVar56 + 0x1400)" * (cast_expression "(double *)(iVar56 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1400)" ( (binary_expression "iVar56 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar64 < dVar67) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }" if (parenthesized_expression "(dVar64 < dVar67)" ( (binary_expression "dVar64 < dVar67" identifier < identifier) )) (compound_statement "{\n                  bVar42 = (byte)(int)dVar64;\n                }" { (expression_statement "bVar42 = (byte)(int)dVar64;" (assignment_expression "bVar42 = (byte)(int)dVar64" identifier = (cast_expression "(byte)(int)dVar64" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar64" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }" else (compound_statement "{\n                  bVar42 = (byte)(int)(dVar64 - dVar67);\n                }" { (expression_statement "bVar42 = (byte)(int)(dVar64 - dVar67);" (assignment_expression "bVar42 = (byte)(int)(dVar64 - dVar67)" identifier = (call_expression "(byte)(int)(dVar64 - dVar67)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar64 - dVar67)" ( (binary_expression "dVar64 - dVar67" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar42 = 0xff;\n              }" else (compound_statement "{\n                bVar42 = 0xff;\n              }" { (expression_statement "bVar42 = 0xff;" (assignment_expression "bVar42 = 0xff" identifier = number_literal) ;) }))) })) (expression_statement "*pbVar53 = bVar42;" (assignment_expression "*pbVar53 = bVar42" (pointer_expression "*pbVar53" * identifier) = identifier) ;) (expression_statement "fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52);" (assignment_expression "fVar65 = (float)*(double *)((int)&pPVar57->green + iVar52)" identifier = (cast_expression "(float)*(double *)((int)&pPVar57->green + iVar52)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pPVar57->green + iVar52)" * (cast_expression "(double *)((int)&pPVar57->green + iVar52)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar57->green + iVar52)" ( (binary_expression "(int)&pPVar57->green + iVar52" (cast_expression "(int)&pPVar57->green" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar57->green" & (field_expression "pPVar57->green" identifier -> field_identifier))) + identifier) )))))) ;) (if_statement "if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" if (parenthesized_expression "(fVar65 <= 0.0)" ( (binary_expression "fVar65 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n              bVar42 = 0;\n            }" { (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" else (compound_statement "{\n              dVar64 = (double)fVar65 / dVar79;\n              if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" { (expression_statement "dVar64 = (double)fVar65 / dVar79;" (assignment_expression "dVar64 = (double)fVar65 / dVar79" identifier = (binary_expression "(double)fVar65 / dVar79" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (if_statement "if (dVar64 < dVar72) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }" if (parenthesized_expression "(dVar64 < dVar72)" ( (binary_expression "dVar64 < dVar72" identifier < identifier) )) (compound_statement "{\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }\n              }" { (expression_statement "dVar64 = dVar64 + dVar75;" (assignment_expression "dVar64 = dVar64 + dVar75" identifier = (binary_expression "dVar64 + dVar75" identifier + identifier)) ;) (if_statement "if (dVar64 < dVar71) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }" if (parenthesized_expression "(dVar64 < dVar71)" ( (binary_expression "dVar64 < dVar71" identifier < identifier) )) (compound_statement "{\n                  bVar42 = (byte)(int)dVar64;\n                }" { (expression_statement "bVar42 = (byte)(int)dVar64;" (assignment_expression "bVar42 = (byte)(int)dVar64" identifier = (cast_expression "(byte)(int)dVar64" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar64" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }" else (compound_statement "{\n                  bVar42 = (byte)(int)(dVar64 - dVar71);\n                }" { (expression_statement "bVar42 = (byte)(int)(dVar64 - dVar71);" (assignment_expression "bVar42 = (byte)(int)(dVar64 - dVar71)" identifier = (call_expression "(byte)(int)(dVar64 - dVar71)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar64 - dVar71)" ( (binary_expression "dVar64 - dVar71" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar42 = 0xff;\n              }" else (compound_statement "{\n                bVar42 = 0xff;\n              }" { (expression_statement "bVar42 = 0xff;" (assignment_expression "bVar42 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "pbVar53[1] = bVar42;" (assignment_expression "pbVar53[1] = bVar42" (subscript_expression "pbVar53[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52);" (assignment_expression "fVar65 = (float)*(double *)((int)&pPVar57->red + iVar52)" identifier = (cast_expression "(float)*(double *)((int)&pPVar57->red + iVar52)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)((int)&pPVar57->red + iVar52)" * (cast_expression "(double *)((int)&pPVar57->red + iVar52)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar57->red + iVar52)" ( (binary_expression "(int)&pPVar57->red + iVar52" (cast_expression "(int)&pPVar57->red" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar57->red" & (field_expression "pPVar57->red" identifier -> field_identifier))) + identifier) )))))) ;) (expression_statement "pbVar29 = pbVar53 + 3;" (assignment_expression "pbVar29 = pbVar53 + 3" identifier = (binary_expression "pbVar53 + 3" identifier + number_literal)) ;) (if_statement "if (fVar65 <= 0.0) {\n              bVar42 = 0;\n            }\n            else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" if (parenthesized_expression "(fVar65 <= 0.0)" ( (binary_expression "fVar65 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n              bVar42 = 0;\n            }" { (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" else (compound_statement "{\n              dVar64 = (double)fVar65 / dVar70;\n              if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }\n            }" { (expression_statement "dVar64 = (double)fVar65 / dVar70;" (assignment_expression "dVar64 = (double)fVar65 / dVar70" identifier = (binary_expression "(double)fVar65 / dVar70" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (if_statement "if (dVar64 < dVar73) {\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }\n              else {\n                bVar42 = 0xff;\n              }" if (parenthesized_expression "(dVar64 < dVar73)" ( (binary_expression "dVar64 < dVar73" identifier < identifier) )) (compound_statement "{\n                dVar64 = dVar64 + dVar75;\n                if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }\n              }" { (expression_statement "dVar64 = dVar64 + dVar75;" (assignment_expression "dVar64 = dVar64 + dVar75" identifier = (binary_expression "dVar64 + dVar75" identifier + identifier)) ;) (if_statement "if (dVar64 < dVar77) {\n                  bVar42 = (byte)(int)dVar64;\n                }\n                else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }" if (parenthesized_expression "(dVar64 < dVar77)" ( (binary_expression "dVar64 < dVar77" identifier < identifier) )) (compound_statement "{\n                  bVar42 = (byte)(int)dVar64;\n                }" { (expression_statement "bVar42 = (byte)(int)dVar64;" (assignment_expression "bVar42 = (byte)(int)dVar64" identifier = (cast_expression "(byte)(int)dVar64" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar64" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }" else (compound_statement "{\n                  bVar42 = (byte)(int)(dVar64 - dVar77);\n                }" { (expression_statement "bVar42 = (byte)(int)(dVar64 - dVar77);" (assignment_expression "bVar42 = (byte)(int)(dVar64 - dVar77)" identifier = (call_expression "(byte)(int)(dVar64 - dVar77)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar64 - dVar77)" ( (binary_expression "dVar64 - dVar77" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar42 = 0xff;\n              }" else (compound_statement "{\n                bVar42 = 0xff;\n              }" { (expression_statement "bVar42 = 0xff;" (assignment_expression "bVar42 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "pbVar53[2] = bVar42;" (assignment_expression "pbVar53[2] = bVar42" (subscript_expression "pbVar53[2]" identifier [ number_literal ]) = identifier) ;) }))) (labeled_statement "LAB_002b97b4:\n          sVar47 = sVar47 + 1;" statement_identifier : (expression_statement "sVar47 = sVar47 + 1;" (assignment_expression "sVar47 = sVar47 + 1" identifier = (binary_expression "sVar47 + 1" identifier + number_literal)) ;)) (expression_statement "iVar52 = iVar52 + 0x58;" (assignment_expression "iVar52 = iVar52 + 0x58" identifier = (binary_expression "iVar52 + 0x58" identifier + number_literal)) ;) (expression_statement "pbVar53 = pbVar29;" (assignment_expression "pbVar53 = pbVar29" identifier = identifier) ;) }) while (parenthesized_expression "(sVar45 != sVar47)" ( (binary_expression "sVar45 != sVar47" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23);" (call_expression "(**(code **)(puVar61 + 0xf1e80))(pIVar34,(uVar20 >> 3) * uVar40,pbVar23)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1e80))" ( (pointer_expression "**(code **)(puVar61 + 0xf1e80)" * (pointer_expression "*(code **)(puVar61 + 0xf1e80)" * (cast_expression "(code **)(puVar61 + 0xf1e80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1e80)" ( (binary_expression "puVar61 + 0xf1e80" identifier + number_literal) ))))) )) (argument_list "(pIVar34,(uVar20 >> 3) * uVar40,pbVar23)" ( identifier , (binary_expression "(uVar20 >> 3) * uVar40" (parenthesized_expression "(uVar20 >> 3)" ( (binary_expression "uVar20 >> 3" identifier >> number_literal) )) * identifier) , identifier ))) ;) (expression_statement "(**(code **)(puVar61 + 0xf14ac))(pbVar23);" (call_expression "(**(code **)(puVar61 + 0xf14ac))(pbVar23)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14ac))" ( (pointer_expression "**(code **)(puVar61 + 0xf14ac)" * (pointer_expression "*(code **)(puVar61 + 0xf14ac)" * (cast_expression "(code **)(puVar61 + 0xf14ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14ac)" ( (binary_expression "puVar61 + 0xf14ac" identifier + number_literal) ))))) )) (argument_list "(pbVar23)" ( identifier ))) ;) })) (expression_statement "sVar45 = pIVar34->number_channels;" (assignment_expression "sVar45 = pIVar34->number_channels" identifier = (field_expression "pIVar34->number_channels" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)pIVar34->rows) {\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }" if (parenthesized_expression "(0 < (int)pIVar34->rows)" ( (binary_expression "0 < (int)pIVar34->rows" number_literal < (cast_expression "(int)pIVar34->rows" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar34->rows" identifier -> field_identifier))) )) (compound_statement "{\n      iVar43 = *(int *)(puVar61 + 0xf0dd4);\n      iVar55 = sVar45 * 4;\n      iVar27 = *(int *)(puVar61 + 0xf0dcc);\n      iVar8 = 0;\n      dVar79 = *(double *)(iVar43 + -0x5af0);\n      dVar77 = *(double *)(iVar27 + 0x1400);\n      uStack_1c8 = 0;\n      uVar19 = 0;\n      uStack_1a0 = 0;\n      do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);\n    }" { (expression_statement "iVar43 = *(int *)(puVar61 + 0xf0dd4);" (assignment_expression "iVar43 = *(int *)(puVar61 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "iVar55 = sVar45 * 4;" (assignment_expression "iVar55 = sVar45 * 4" identifier = (binary_expression "sVar45 * 4" identifier * number_literal)) ;) (expression_statement "iVar27 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar27 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "dVar79 = *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar79 = *(double *)(iVar43 + -0x5af0)" identifier = (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar77 = *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar77 = *(double *)(iVar27 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "uStack_1c8 = 0;" (assignment_expression "uStack_1c8 = 0" identifier = number_literal) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uStack_1a0 = 0;" (assignment_expression "uStack_1a0 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      } while ((int)uVar44 < (int)sVar47);" do (compound_statement "{\n        iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);\n        if (iVar21 == 0) break;\n        sVar47 = pIVar34->columns;\n        if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }\n        sVar47 = pIVar34->rows;\n        uVar19 = uVar19 + 1;\n        if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }\n        if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }\n        uVar44 = uStack_1c8 + 1;\n        iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;\n        uStack_1c8 = uVar44;\n      }" { (expression_statement "iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36);" (assignment_expression "iVar21 = (**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36)" identifier = (call_expression "(**(code **)(puVar61 + 0xf1c50))(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1c50))" ( (pointer_expression "**(code **)(puVar61 + 0xf1c50)" * (pointer_expression "*(code **)(puVar61 + 0xf1c50)" * (cast_expression "(code **)(puVar61 + 0xf1c50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1c50)" ( (binary_expression "puVar61 + 0xf1c50" identifier + number_literal) ))))) )) (argument_list "(pIVar34,0,uVar19,pIVar34->columns,1,pEVar36)" ( identifier , number_literal , identifier , (field_expression "pIVar34->columns" identifier -> field_identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar47 = pIVar34->columns;" (assignment_expression "sVar47 = pIVar34->columns" identifier = (field_expression "pIVar34->columns" identifier -> field_identifier)) ;) (if_statement "if (CVar26 == RLECompression) {\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }\n        else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }" if (parenthesized_expression "(CVar26 == RLECompression)" ( (binary_expression "CVar26 == RLECompression" identifier == identifier) )) (compound_statement "{\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }\n        }" { (expression_statement "iVar52 = *(int *)(puVar61 + 0xf0dd4);" (assignment_expression "iVar52 = *(int *)(puVar61 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)sVar47) {\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }" if (parenthesized_expression "(0 < (int)sVar47)" ( (binary_expression "0 < (int)sVar47" number_literal < (cast_expression "(int)sVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            sStack_1ec = 0;\n            dVar70 = *(double *)(iVar52 + -0x5ae8);\n            iVar56 = 0;\n            do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);\n          }" { (expression_statement "sStack_1ec = 0;" (assignment_expression "sStack_1ec = 0" identifier = number_literal) ;) (expression_statement "dVar70 = *(double *)(iVar52 + -0x5ae8);" (assignment_expression "dVar70 = *(double *)(iVar52 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "iVar56 = 0;" (assignment_expression "iVar56 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            } while ((int)sStack_1ec < (int)sVar47);" do (compound_statement "{\n              iVar51 = 1;\n              iVar37 = iVar55;\n              sVar28 = sStack_1ec;\n              iVar60 = iVar56;\n              do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);\n              sVar28 = sStack_1ec + 0x80;\nLAB_002b8734:\n              bVar1 = iVar51 < 3;\n              sStack_1ec = sVar28;\n              if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }\nLAB_002b869c:\n              iVar56 = iVar60;\n            }" { (expression_statement "iVar51 = 1;" (assignment_expression "iVar51 = 1" identifier = number_literal) ;) (expression_statement "iVar37 = iVar55;" (assignment_expression "iVar37 = iVar55" identifier = identifier) ;) (expression_statement "sVar28 = sStack_1ec;" (assignment_expression "sVar28 = sStack_1ec" identifier = identifier) ;) (expression_statement "iVar60 = iVar56;" (assignment_expression "iVar60 = iVar56" identifier = identifier) ;) (do_statement "do {\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              } while (iVar51 != 0x80);" do (compound_statement "{\n                iVar60 = iVar60 + 1;\n                sVar28 = sVar28 + 1;\n                if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                pPVar22 = pIVar34->channel_map;\n                if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar51 = iVar51 + 1;\n                iVar37 = iVar37 + iVar55;\n              }" { (expression_statement "iVar60 = iVar60 + 1;" (assignment_expression "iVar60 = iVar60 + 1" identifier = (binary_expression "iVar60 + 1" identifier + number_literal)) ;) (expression_statement "sVar28 = sVar28 + 1;" (assignment_expression "sVar28 = sVar28 + 1" identifier = (binary_expression "sVar28 + 1" identifier + number_literal)) ;) (if_statement "if ((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)) {\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" if (parenthesized_expression "((0x7f < iVar60) || ((int)sVar47 <= (int)sVar28))" ( (binary_expression "(0x7f < iVar60) || ((int)sVar47 <= (int)sVar28)" (parenthesized_expression "(0x7f < iVar60)" ( (binary_expression "0x7f < iVar60" number_literal < identifier) )) || (parenthesized_expression "((int)sVar47 <= (int)sVar28)" ( (binary_expression "(int)sVar47 <= (int)sVar28" (cast_expression "(int)sVar47" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)sVar28" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                  bVar1 = iVar51 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar21 = iVar51 * iVar55 + iVar21;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (iVar60 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar51 < 3;\n                  iVar56 = iVar60;\n                  sStack_1ec = sVar28;\n                  if (sVar28 != sVar47) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" { (expression_statement "bVar1 = iVar51 < 3;" (assignment_expression "bVar1 = iVar51 < 3" identifier = (binary_expression "iVar51 < 3" identifier < number_literal)) ;) (if_statement "if (!bVar1) goto LAB_002b8734;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_002b8734;" goto statement_identifier ;)) (expression_statement "iVar21 = iVar51 * iVar55 + iVar21;" (assignment_expression "iVar21 = iVar51 * iVar55 + iVar21" identifier = (binary_expression "iVar51 * iVar55 + iVar21" (binary_expression "iVar51 * iVar55" identifier * identifier) + identifier)) ;) (expression_statement "iVar56 = iVar60;" (assignment_expression "iVar56 = iVar60" identifier = identifier) ;) (expression_statement "sStack_1ec = sVar28;" (assignment_expression "sStack_1ec = sVar28" identifier = identifier) ;) (if_statement "if (iVar60 == 0x80) goto LAB_002b8a88;" if (parenthesized_expression "(iVar60 == 0x80)" ( (binary_expression "iVar60 == 0x80" identifier == number_literal) )) (goto_statement "goto LAB_002b8a88;" goto statement_identifier ;)) (labeled_statement "LAB_002b8690:\n                  bVar1 = iVar51 < 3;" statement_identifier : (expression_statement "bVar1 = iVar51 < 3;" (assignment_expression "bVar1 = iVar51 < 3" identifier = (binary_expression "iVar51 < 3" identifier < number_literal)) ;)) (expression_statement "iVar56 = iVar60;" (assignment_expression "iVar56 = iVar60" identifier = identifier) ;) (expression_statement "sStack_1ec = sVar28;" (assignment_expression "sStack_1ec = sVar28" identifier = identifier) ;) (if_statement "if (sVar28 != sVar47) goto LAB_002b869c;" if (parenthesized_expression "(sVar28 != sVar47)" ( (binary_expression "sVar28 != sVar47" identifier != identifier) )) (goto_statement "goto LAB_002b869c;" goto statement_identifier ;)) (goto_statement "goto LAB_002b8a88;" goto statement_identifier ;) })) (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (if_statement "if (uVar33 == 9) {\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }\n                else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" if (parenthesized_expression "(uVar33 == 9)" ( (binary_expression "uVar33 == 9" identifier == number_literal) )) (compound_statement "{\n                  if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;\n                }" { (if_statement "if ((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))) goto LAB_002b8680;" if (parenthesized_expression "((pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35)))" ( (binary_expression "(pPVar22[5].traits != UndefinedPixelTrait) &&\n                     (iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))" (parenthesized_expression "(pPVar22[5].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar22[5].traits != UndefinedPixelTrait" (field_expression "pPVar22[5].traits" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) != identifier) )) && (parenthesized_expression "(iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35))" ( (comma_expression "iVar35 = pPVar22[5].offset * 4,\n                     *(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35)" (assignment_expression "iVar35 = pPVar22[5].offset * 4" identifier = (binary_expression "pPVar22[5].offset * 4" (field_expression "pPVar22[5].offset" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) * number_literal)) , (binary_expression "*(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4) !=\n                     *(float *)(iVar21 + iVar37 + iVar35)" (pointer_expression "*(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4)" * (cast_expression "(float *)(iVar21 + iVar37 + iVar35 + sVar45 * -4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar37 + iVar35 + sVar45 * -4)" ( (binary_expression "iVar21 + iVar37 + iVar35 + sVar45 * -4" (binary_expression "iVar21 + iVar37 + iVar35" (binary_expression "iVar21 + iVar37" identifier + identifier) + identifier) + (binary_expression "sVar45 * -4" identifier * number_literal)) )))) != (pointer_expression "*(float *)(iVar21 + iVar37 + iVar35)" * (cast_expression "(float *)(iVar21 + iVar37 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar37 + iVar35)" ( (binary_expression "iVar21 + iVar37 + iVar35" (binary_expression "iVar21 + iVar37" identifier + identifier) + identifier) )))))) ))) )) (goto_statement "goto LAB_002b8680;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar41 = iVar37 + sVar45 * -4;\n                  iVar35 = pPVar22[2].offset * 4;\n                  if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" { (expression_statement "iVar41 = iVar37 + sVar45 * -4;" (assignment_expression "iVar41 = iVar37 + sVar45 * -4" identifier = (binary_expression "iVar37 + sVar45 * -4" identifier + (binary_expression "sVar45 * -4" identifier * number_literal))) ;) (expression_statement "iVar35 = pPVar22[2].offset * 4;" (assignment_expression "iVar35 = pPVar22[2].offset * 4" identifier = (binary_expression "pPVar22[2].offset * 4" (field_expression "pPVar22[2].offset" (subscript_expression "pPVar22[2]" identifier [ number_literal ]) . field_identifier) * number_literal)) ;) (if_statement "if (uVar33 == 0xb) {\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" if (parenthesized_expression "(uVar33 == 0xb)" ( (binary_expression "uVar33 == 0xb" identifier == number_literal) )) (compound_statement "{\n                    iVar48 = iVar37 + iVar21;\n                    iVar41 = iVar21 + sVar45 * -4 + iVar37;\n                    iVar49 = pPVar22[1].offset * 4;\n                    iVar50 = pPVar22->offset * 4;\n                    if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }" { (expression_statement "iVar48 = iVar37 + iVar21;" (assignment_expression "iVar48 = iVar37 + iVar21" identifier = (binary_expression "iVar37 + iVar21" identifier + identifier)) ;) (expression_statement "iVar41 = iVar21 + sVar45 * -4 + iVar37;" (assignment_expression "iVar41 = iVar21 + sVar45 * -4 + iVar37" identifier = (binary_expression "iVar21 + sVar45 * -4 + iVar37" (binary_expression "iVar21 + sVar45 * -4" identifier + (binary_expression "sVar45 * -4" identifier * number_literal)) + identifier)) ;) (expression_statement "iVar49 = pPVar22[1].offset * 4;" (assignment_expression "iVar49 = pPVar22[1].offset * 4" identifier = (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) ;) (expression_statement "iVar50 = pPVar22->offset * 4;" (assignment_expression "iVar50 = pPVar22->offset * 4" identifier = (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) ;) (if_statement "if (*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;" if (parenthesized_expression "(*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64))" ( (binary_expression "*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar41 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar41 + iVar35)" * (cast_expression "(float *)(iVar41 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar35)" ( (binary_expression "iVar41 + iVar35" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar41 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar41 + iVar50)" * (cast_expression "(float *)(iVar41 + iVar50)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar50)" ( (binary_expression "iVar41 + iVar50" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar41 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar41 + iVar49)" * (cast_expression "(float *)(iVar41 + iVar49)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar49)" ( (binary_expression "iVar41 + iVar49" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) != (binary_expression "*(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar48 + iVar35) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar48 + iVar35)" * (cast_expression "(float *)(iVar48 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar35)" ( (binary_expression "iVar48 + iVar35" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar48 + iVar50) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar48 + iVar50)" * (cast_expression "(float *)(iVar48 + iVar50)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar50)" ( (binary_expression "iVar48 + iVar50" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar48 + iVar49) *\n                        *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar48 + iVar49)" * (cast_expression "(float *)(iVar48 + iVar49)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar49)" ( (binary_expression "iVar48 + iVar49" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) )) (goto_statement "goto LAB_002b8680;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" else (compound_statement "{\n                    iVar48 = iVar21 + iVar37;\n                    if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" { (expression_statement "iVar48 = iVar21 + iVar37;" (assignment_expression "iVar48 = iVar21 + iVar37" identifier = (binary_expression "iVar21 + iVar37" identifier + identifier)) ;) (if_statement "if ((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))) {\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" if (parenthesized_expression "((((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)))))" ( (binary_expression "(((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                       (((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))" (parenthesized_expression "(((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)))" ( (binary_expression "((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))) ||\n                        (iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))" (parenthesized_expression "((*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)))" ( (binary_expression "(*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)) ||\n                         (iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))" (parenthesized_expression "(*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35))" ( (binary_expression "*(float *)(iVar21 + iVar41 + iVar35) != *(float *)(iVar48 + iVar35)" (pointer_expression "*(float *)(iVar21 + iVar41 + iVar35)" * (cast_expression "(float *)(iVar21 + iVar41 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar41 + iVar35)" ( (binary_expression "iVar21 + iVar41 + iVar35" (binary_expression "iVar21 + iVar41" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar48 + iVar35)" * (cast_expression "(float *)(iVar48 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar35)" ( (binary_expression "iVar48 + iVar35" identifier + identifier) ))))) )) || (parenthesized_expression "(iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))" ( (comma_expression "iVar35 = pPVar22[1].offset * 4,\n                         *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)" (assignment_expression "iVar35 = pPVar22[1].offset * 4" identifier = (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) , (binary_expression "*(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)" (pointer_expression "*(float *)(iVar21 + iVar35 + iVar41)" * (cast_expression "(float *)(iVar21 + iVar35 + iVar41)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar35 + iVar41)" ( (binary_expression "iVar21 + iVar35 + iVar41" (binary_expression "iVar21 + iVar35" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar48 + iVar35)" * (cast_expression "(float *)(iVar48 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar35)" ( (binary_expression "iVar48 + iVar35" identifier + identifier) )))))) ))) )) || (parenthesized_expression "(iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))" ( (comma_expression "iVar35 = pPVar22->offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)" (assignment_expression "iVar35 = pPVar22->offset * 4" identifier = (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) , (binary_expression "*(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)" (pointer_expression "*(float *)(iVar21 + iVar35 + iVar41)" * (cast_expression "(float *)(iVar21 + iVar35 + iVar41)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar35 + iVar41)" ( (binary_expression "iVar21 + iVar35 + iVar41" (binary_expression "iVar21 + iVar35" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar48 + iVar35)" * (cast_expression "(float *)(iVar48 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar35)" ( (binary_expression "iVar48 + iVar35" identifier + identifier) )))))) ))) )) || (parenthesized_expression "(((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))))" ( (parenthesized_expression "((pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)))" ( (binary_expression "(pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)) &&\n                        (iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))" (parenthesized_expression "(pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait))" ( (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait &&\n                         (pPVar22[4].traits != UndefinedPixelTrait)" (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) != identifier) && (parenthesized_expression "(pPVar22[4].traits != UndefinedPixelTrait)" ( (binary_expression "pPVar22[4].traits != UndefinedPixelTrait" (field_expression "pPVar22[4].traits" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) != identifier) ))) )) && (parenthesized_expression "(iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35))" ( (comma_expression "iVar35 = pPVar22[4].offset * 4,\n                        *(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)" (assignment_expression "iVar35 = pPVar22[4].offset * 4" identifier = (binary_expression "pPVar22[4].offset * 4" (field_expression "pPVar22[4].offset" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) , (binary_expression "*(float *)(iVar21 + iVar35 + iVar41) != *(float *)(iVar48 + iVar35)" (pointer_expression "*(float *)(iVar21 + iVar35 + iVar41)" * (cast_expression "(float *)(iVar21 + iVar35 + iVar41)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar35 + iVar41)" ( (binary_expression "iVar21 + iVar35 + iVar41" (binary_expression "iVar21 + iVar35" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar48 + iVar35)" * (cast_expression "(float *)(iVar48 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + iVar35)" ( (binary_expression "iVar48 + iVar35" identifier + identifier) )))))) ))) )) ))) )) (compound_statement "{\nLAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" { (labeled_statement "LAB_002b8680:\n                      if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }" statement_identifier : (if_statement "if (iVar51 < 3) {\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }" if (parenthesized_expression "(iVar51 < 3)" ( (binary_expression "iVar51 < 3" identifier < number_literal) )) (compound_statement "{\n                        iVar21 = iVar51 * iVar55 + iVar21;\n                        goto LAB_002b8690;\n                      }" { (expression_statement "iVar21 = iVar51 * iVar55 + iVar21;" (assignment_expression "iVar21 = iVar51 * iVar55 + iVar21" identifier = (binary_expression "iVar51 * iVar55 + iVar21" (binary_expression "iVar51 * iVar55" identifier * identifier) + identifier)) ;) (goto_statement "goto LAB_002b8690;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002b8734;" goto statement_identifier ;) })) }))) }))) (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "iVar37 = iVar37 + iVar55;" (assignment_expression "iVar37 = iVar37 + iVar55" identifier = (binary_expression "iVar37 + iVar55" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar51 != 0x80)" ( (binary_expression "iVar51 != 0x80" identifier != number_literal) )) ;) (expression_statement "sVar28 = sStack_1ec + 0x80;" (assignment_expression "sVar28 = sStack_1ec + 0x80" identifier = (binary_expression "sStack_1ec + 0x80" identifier + number_literal)) ;) (labeled_statement "LAB_002b8734:\n              bVar1 = iVar51 < 3;" statement_identifier : (expression_statement "bVar1 = iVar51 < 3;" (assignment_expression "bVar1 = iVar51 < 3" identifier = (binary_expression "iVar51 < 3" identifier < number_literal)) ;)) (expression_statement "sStack_1ec = sVar28;" (assignment_expression "sStack_1ec = sVar28" identifier = identifier) ;) (if_statement "if (iVar56 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }\n              else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }" if (parenthesized_expression "(iVar56 == 0)" ( (binary_expression "iVar56 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);\n                if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                sVar47 = pIVar34->columns;\n                iVar60 = 0;\n                iVar21 = iVar51 * iVar55 + iVar21;\n              }" { (labeled_statement "LAB_002b873c:\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);" statement_identifier : (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,iVar51 - 1U & 0x7f | 0x80)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,iVar51 - 1U & 0x7f | 0x80)" ( identifier , (binary_expression "iVar51 - 1U & 0x7f | 0x80" (binary_expression "iVar51 - 1U & 0x7f" (binary_expression "iVar51 - 1U" identifier - number_literal) & number_literal) | number_literal) ))) ;)) (if_statement "if ((uVar33 & 3) == 1) {\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" if (parenthesized_expression "((uVar33 & 3) == 1)" ( (binary_expression "(uVar33 & 3) == 1" (parenthesized_expression "(uVar33 & 3)" ( (binary_expression "uVar33 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                }" { (if_statement "if (pIVar34->channel_map[5].traits == UndefinedPixelTrait) {\nLAB_002b8944:\n                    uVar44 = 0;\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" if (parenthesized_expression "(pIVar34->channel_map[5].traits == UndefinedPixelTrait)" ( (binary_expression "pIVar34->channel_map[5].traits == UndefinedPixelTrait" (field_expression "pIVar34->channel_map[5].traits" (subscript_expression "pIVar34->channel_map[5]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\nLAB_002b8944:\n                    uVar44 = 0;\n                  }" { (labeled_statement "LAB_002b8944:\n                    uVar44 = 0;" statement_identifier : (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" else (compound_statement "{\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);\n                    if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" { (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[5].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map[5].offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map[5].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map[5].offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map[5].offset * 4" identifier + (binary_expression "pIVar34->channel_map[5].offset * 4" (field_expression "pIVar34->channel_map[5].offset" (subscript_expression "pIVar34->channel_map[5]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                      uVar44 = (int)fVar69 & 0xff;\n                    }\n                    else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" if (parenthesized_expression "(fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                      uVar44 = (int)fVar69 & 0xff;\n                    }" { (expression_statement "uVar44 = (int)fVar69 & 0xff;" (assignment_expression "uVar44 = (int)fVar69 & 0xff" identifier = (binary_expression "(int)fVar69 & 0xff" (cast_expression "(int)fVar69" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" else (compound_statement "{\n                      uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" { (expression_statement "uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff;" (assignment_expression "uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff" identifier = (binary_expression "(int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                               0xff" (cast_expression "(int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8948:\n                  (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" statement_identifier : (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" else (compound_statement "{\n                  pPVar22 = pIVar34->channel_map;\n                  fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n                  if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (expression_statement "fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22[2].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[2].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[2].offset * 4)" ( (binary_expression "iVar21 + pPVar22[2].offset * 4" identifier + (binary_expression "pPVar22[2].offset * 4" (field_expression "pPVar22[2].offset" (subscript_expression "pPVar22[2]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if ((uVar33 & 3) == 3) {\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" if (parenthesized_expression "((uVar33 & 3) == 3)" ( (binary_expression "(uVar33 & 3) == 3" (parenthesized_expression "(uVar33 & 3)" ( (binary_expression "uVar33 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                    if (fVar69 <= 0.0) goto LAB_002b8944;\n                    dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                    if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" { (expression_statement "fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar21 + pPVar22->offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar21 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22->offset * 4)" ( (binary_expression "iVar21 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar21 + pPVar22[1].offset * 4) *\n                             *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar21 + pPVar22[1].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[1].offset * 4)" ( (binary_expression "iVar21 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar69 <= 0.0) goto LAB_002b8944;" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8944;" goto statement_identifier ;)) (expression_statement "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }" if (parenthesized_expression "(dVar72 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar72 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                      dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                      dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                      if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }\n                    }" { (expression_statement "dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar72 < dVar75) {\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }" if (parenthesized_expression "(dVar72 < dVar75)" ( (binary_expression "dVar72 < dVar75" identifier < identifier) )) (compound_statement "{\nLAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;\n                      }" { (labeled_statement "LAB_002b8a58:\n                        uVar44 = (int)dVar72 & 0xff;" statement_identifier : (expression_statement "uVar44 = (int)dVar72 & 0xff;" (assignment_expression "uVar44 = (int)dVar72 & 0xff" identifier = (binary_expression "(int)dVar72 & 0xff" (cast_expression "(int)dVar72" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }) (else_clause "else {\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }" else (compound_statement "{\nLAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;\n                      }" { (labeled_statement "LAB_002b89a4:\n                        uVar44 = (int)(dVar72 - dVar75) & 0xff;" statement_identifier : (expression_statement "uVar44 = (int)(dVar72 - dVar75) & 0xff;" (assignment_expression "uVar44 = (int)(dVar72 - dVar75) & 0xff" identifier = (binary_expression "(int)(dVar72 - dVar75) & 0xff" (cast_expression "(int)(dVar72 - dVar75)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar72 - dVar75)" ( (binary_expression "dVar72 - dVar75" identifier - identifier) ))) & number_literal)) ;)) }))) }) (else_clause "else {\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }" else (compound_statement "{\nLAB_002b93cc:\n                      uVar44 = 0xff;\n                    }" { (labeled_statement "LAB_002b93cc:\n                      uVar44 = 0xff;" statement_identifier : (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_002b8948;" goto statement_identifier ;) })) (if_statement "if (pIVar34->depth == 5) {\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }\n                  else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" if (parenthesized_expression "(pIVar34->depth == 5)" ( (binary_expression "pIVar34->depth == 5" (field_expression "pIVar34->depth" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                    if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                    pPVar22 = pIVar34->channel_map;\n                    if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }\n                    fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                    if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                  }" { (expression_statement "fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);" (assignment_expression "fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22[1].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[1].offset * 4)" ( (binary_expression "iVar21 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar65 <= 0.0) {\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }\n                    else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }" if (parenthesized_expression "(fVar65 <= 0.0)" ( (binary_expression "fVar65 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar44 = 0;\n                      uVar20 = 0;\n                      uVar59 = 0;\n                    }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }" else (compound_statement "{\n                      dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }\n                    }" { (expression_statement "dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar72 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }\n                      else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }" if (parenthesized_expression "(dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar59 = (extraout_v1_05 & 0xff) << 5;\n                        uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar20 = (uint)(char)uVar59;\n                      }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar72 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar59 = (extraout_v1_05 & 0xff) << 5;" (assignment_expression "uVar59 = (extraout_v1_05 & 0xff) << 5" identifier = (binary_expression "(extraout_v1_05 & 0xff) << 5" (parenthesized_expression "(extraout_v1_05 & 0xff)" ( (binary_expression "extraout_v1_05 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar44 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_05 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_05 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_05 & 0xff)" ( (binary_expression "extraout_v1_05 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar20 = (uint)(char)uVar59;" (assignment_expression "uVar20 = (uint)(char)uVar59" identifier = (cast_expression "(uint)(char)uVar59" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar59" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }" else (compound_statement "{\n                        uVar44 = 3;\n                        uVar20 = 0xffffffe0;\n                        uVar59 = 0x1fe0;\n                      }" { (expression_statement "uVar44 = 3;" (assignment_expression "uVar44 = 3" identifier = number_literal) ;) (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar59 = 0x1fe0;" (assignment_expression "uVar59 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar69)) {\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }\n                    else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }" if (parenthesized_expression "(NAN(fVar69))" ( (call_expression "NAN(fVar69)" identifier (argument_list "(fVar69)" ( identifier ))) )) (compound_statement "{\nLAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;\n                    }" { (labeled_statement "LAB_002b94d4:\n                      uVar20 = uVar20 & 0xff;" statement_identifier : (expression_statement "uVar20 = uVar20 & 0xff;" (assignment_expression "uVar20 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;)) }) (else_clause "else if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }" else (if_statement "if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }\n                    else {\n                      uVar20 = uVar59 & 0xff;\n                    }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar20 = 0xff;\n                    }" { (expression_statement "dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" if (parenthesized_expression "(dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar20 = uVar20 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar72 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar20 = uVar20 | extraout_v1_06;" (assignment_expression "uVar20 = uVar20 | extraout_v1_06" identifier = (binary_expression "uVar20 | extraout_v1_06" identifier | identifier)) ;) (goto_statement "goto LAB_002b94d4;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0xff;" (assignment_expression "uVar20 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar20 = uVar59 & 0xff;\n                    }" else (compound_statement "{\n                      uVar20 = uVar59 & 0xff;\n                    }" { (expression_statement "uVar20 = uVar59 & 0xff;" (assignment_expression "uVar20 = uVar59 & 0xff" identifier = (binary_expression "uVar59 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar20)" ( identifier , identifier ))) ;) (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (if_statement "if ((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))) {\n                      uVar44 = uVar44 | 0xffffff80;\n                    }" if (parenthesized_expression "((pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4)))))" ( (binary_expression "(pIVar34->alpha_trait != UndefinedPixelTrait) &&\n                       ((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))" (parenthesized_expression "(pIVar34->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "((pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))))" ( (parenthesized_expression "(pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4)))" ( (binary_expression "pPVar22[4].traits == UndefinedPixelTrait ||\n                        (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))" (binary_expression "pPVar22[4].traits == UndefinedPixelTrait" (field_expression "pPVar22[4].traits" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) == identifier) || (parenthesized_expression "(*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4))" ( (binary_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar21 + pPVar22[4].offset * 4)" (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar21 + pPVar22[4].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[4].offset * 4)" ( (binary_expression "iVar21 + pPVar22[4].offset * 4" identifier + (binary_expression "pPVar22[4].offset * 4" (field_expression "pPVar22[4].offset" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ))) )) ))) )) (compound_statement "{\n                      uVar44 = uVar44 | 0xffffff80;\n                    }" { (expression_statement "uVar44 = uVar44 | 0xffffff80;" (assignment_expression "uVar44 = uVar44 | 0xffffff80" identifier = (binary_expression "uVar44 | 0xffffff80" identifier | number_literal)) ;) })) (expression_statement "fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pPVar22->offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22->offset * 4)" ( (binary_expression "iVar21 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar69) {\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                      dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                      if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }\n                    }" { (expression_statement "dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar72 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }" if (parenthesized_expression "(dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar72 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));\n                        uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar72 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar72 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2));" (assignment_expression "uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2))" ( (binary_expression "(byte)uVar44 | (byte)((extraout_v1_07 & 0xff) << 2)" (cast_expression "(byte)uVar44" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_07 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_07 & 0xff) << 2)" ( (binary_expression "(extraout_v1_07 & 0xff) << 2" (parenthesized_expression "(extraout_v1_07 & 0xff)" ( (binary_expression "extraout_v1_07 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }" else (compound_statement "{\n                        uVar44 = uVar44 | 0xfffffffc;\n                      }" { (expression_statement "uVar44 = uVar44 | 0xfffffffc;" (assignment_expression "uVar44 = uVar44 | 0xfffffffc" identifier = (binary_expression "uVar44 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44 & 0xff)" ( identifier , (binary_expression "uVar44 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" else (compound_statement "{\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                    if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                    if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" { (if_statement "if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar44 = 0;\n                    }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" { (expression_statement "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }" if (parenthesized_expression "(dVar72 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar72 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }" { (expression_statement "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72)" ( (binary_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72" (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar44 = (int)dVar72 & 0xff;" (assignment_expression "uVar44 = (int)dVar72 & 0xff" identifier = (binary_expression "(int)dVar72 & 0xff" (cast_expression "(int)dVar72" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar44 = 0xff;\n                      }" else (compound_statement "{\n                        uVar44 = 0xff;\n                      }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;) (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map[1].offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map[1].offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map[1].offset * 4" identifier + (binary_expression "pIVar34->channel_map[1].offset * 4" (field_expression "pIVar34->channel_map[1].offset" (subscript_expression "pIVar34->channel_map[1]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar44 = 0;\n                    }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" { (expression_statement "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }" if (parenthesized_expression "(dVar72 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar72 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }" { (expression_statement "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72)" ( (binary_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72" (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar44 = (int)dVar72 & 0xff;" (assignment_expression "uVar44 = (int)dVar72 & 0xff" identifier = (binary_expression "(int)dVar72 & 0xff" (cast_expression "(int)dVar72" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar44 = 0xff;\n                      }" else (compound_statement "{\n                        uVar44 = 0xff;\n                      }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;) (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map->offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map->offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map->offset * 4" identifier + (binary_expression "pIVar34->channel_map->offset * 4" (field_expression "pIVar34->channel_map->offset" (field_expression "pIVar34->channel_map" identifier -> field_identifier) -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) {\n                      uVar44 = 0;\n                    }\n                    else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar44 = 0;\n                    }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }\n                    }" { (expression_statement "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar72 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }\n                      else {\n                        uVar44 = 0xff;\n                      }" if (parenthesized_expression "(dVar72 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar72 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar44 = (int)dVar72 & 0xff;\n                      }" { (expression_statement "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72) {\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72)" ( (binary_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410) <= dVar72" (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar72 = dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar72 - *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar44 = (int)dVar72 & 0xff;" (assignment_expression "uVar44 = (int)dVar72 & 0xff" identifier = (binary_expression "(int)dVar72 & 0xff" (cast_expression "(int)dVar72" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar44 = 0xff;\n                      }" else (compound_statement "{\n                        uVar44 = 0xff;\n                      }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;) (if_statement "if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" if (parenthesized_expression "(pIVar34->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                      uVar44 = 0xff;\n                      if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) (if_statement "if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" if (parenthesized_expression "(pIVar34->channel_map[4].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar34->channel_map[4].traits != UndefinedPixelTrait" (field_expression "pIVar34->channel_map[4].traits" (subscript_expression "pIVar34->channel_map[4]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                        fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                        if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" { (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map[4].offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map[4].offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map[4].offset * 4" identifier + (binary_expression "pIVar34->channel_map[4].offset * 4" (field_expression "pIVar34->channel_map[4].offset" (subscript_expression "pIVar34->channel_map[4]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar69) {\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                          dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                          if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" { (expression_statement "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar72 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar72 < dVar70) {\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" if (parenthesized_expression "(dVar72 < dVar70)" ( (binary_expression "dVar72 < dVar70" identifier < identifier) )) (compound_statement "{\n                            dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                            dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);\n                            if (dVar75 <= dVar72) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" { (expression_statement "dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar75 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar72 = dVar72 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar72 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar75 <= dVar72) goto LAB_002b89a4;" if (parenthesized_expression "(dVar75 <= dVar72)" ( (binary_expression "dVar75 <= dVar72" identifier <= identifier) )) (goto_statement "goto LAB_002b89a4;" goto statement_identifier ;)) (goto_statement "goto LAB_002b8a58;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b93cc;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b8944;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b8948;" goto statement_identifier ;) })) }))) }))) (expression_statement "sVar47 = pIVar34->columns;" (assignment_expression "sVar47 = pIVar34->columns" identifier = (field_expression "pIVar34->columns" identifier -> field_identifier)) ;) (expression_statement "iVar60 = 0;" (assignment_expression "iVar60 = 0" identifier = number_literal) ;) (expression_statement "iVar21 = iVar51 * iVar55 + iVar21;" (assignment_expression "iVar21 = iVar51 * iVar55 + iVar21" identifier = (binary_expression "iVar51 * iVar55 + iVar21" (binary_expression "iVar51 * iVar55" identifier * identifier) + identifier)) ;) }) (else_clause "else {\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }" else (compound_statement "{\nLAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);\n                uVar44 = iVar56 - 1;\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n                iVar56 = iVar21 - iVar56 * iVar55;\n                dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);\n                dVar75 = *(double *)(iVar52 + -0x5ae8);\n                do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);\n                iVar60 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                sVar47 = pIVar34->columns;\n              }" { (labeled_statement "LAB_002b8a88:\n                iVar60 = *(int *)(puVar61 + 0xf0dcc);" statement_identifier : (expression_statement "iVar60 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar60 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;)) (expression_statement "uVar44 = iVar56 - 1;" (assignment_expression "uVar44 = iVar56 - 1" identifier = (binary_expression "iVar56 - 1" identifier - number_literal)) ;) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44 & 0xff)" ( identifier , (binary_expression "uVar44 & 0xff" identifier & number_literal) ))) ;) (expression_statement "iVar56 = iVar21 - iVar56 * iVar55;" (assignment_expression "iVar56 = iVar21 - iVar56 * iVar55" identifier = (binary_expression "iVar21 - iVar56 * iVar55" identifier - (binary_expression "iVar56 * iVar55" identifier * identifier))) ;) (expression_statement "dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar72 = *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar75 = *(double *)(iVar52 + -0x5ae8);" (assignment_expression "dVar75 = *(double *)(iVar52 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) ;) (do_statement "do {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                } while (uVar44 != 0xffffffff);" do (compound_statement "{\n                  pPVar22 = pIVar34->channel_map;\n                  if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar44 = uVar44 - 1;\n                  iVar56 = iVar56 + iVar55;\n                }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (if_statement "if ((uVar33 & 3) == 1) {\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }\n                  else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" if (parenthesized_expression "((uVar33 & 3) == 1)" ( (binary_expression "(uVar33 & 3) == 1" (parenthesized_expression "(uVar33 & 3)" ( (binary_expression "uVar33 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                  }" { (if_statement "if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }\n                    else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" if (parenthesized_expression "(pPVar22[5].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar22[5].traits == UndefinedPixelTrait" (field_expression "pPVar22[5].traits" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\nLAB_002b8cac:\n                      uVar59 = 0;\n                    }" { (labeled_statement "LAB_002b8cac:\n                      uVar59 = 0;" statement_identifier : (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" else (compound_statement "{\n                      fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);\n                      if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" { (expression_statement "fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar56 + pPVar22[5].offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pPVar22[5].offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22[5].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22[5].offset * 4)" ( (binary_expression "iVar56 + pPVar22[5].offset * 4" identifier + (binary_expression "pPVar22[5].offset * 4" (field_expression "pPVar22[5].offset" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                        uVar59 = (int)fVar69 & 0xff;\n                      }\n                      else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" if (parenthesized_expression "(fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        uVar59 = (int)fVar69 & 0xff;\n                      }" { (expression_statement "uVar59 = (int)fVar69 & 0xff;" (assignment_expression "uVar59 = (int)fVar69 & 0xff" identifier = (binary_expression "(int)fVar69 & 0xff" (cast_expression "(int)fVar69" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" else (compound_statement "{\n                        uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" { (expression_statement "uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;" (assignment_expression "uVar59 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" identifier = (binary_expression "(int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" (cast_expression "(int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8cb0:\n                    (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);" statement_identifier : (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar59)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);\n                    if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" { (expression_statement "fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar56 + pPVar22[2].offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pPVar22[2].offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22[2].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22[2].offset * 4)" ( (binary_expression "iVar56 + pPVar22[2].offset * 4" identifier + (binary_expression "pPVar22[2].offset * 4" (field_expression "pPVar22[2].offset" (subscript_expression "pPVar22[2]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if ((uVar33 & 3) == 3) {\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" if (parenthesized_expression "((uVar33 & 3) == 3)" ( (binary_expression "(uVar33 & 3) == 3" (parenthesized_expression "(uVar33 & 3)" ( (binary_expression "uVar33 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                      if (fVar69 <= 0.0) goto LAB_002b8cac;\n                      dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                      if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" { (expression_statement "fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar56 + pPVar22->offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar56 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22->offset * 4)" ( (binary_expression "iVar56 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar56 + pPVar22[1].offset * 4) *\n                               *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar56 + pPVar22[1].offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22[1].offset * 4)" ( (binary_expression "iVar56 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar69 <= 0.0) goto LAB_002b8cac;" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8cac;" goto statement_identifier ;)) (expression_statement "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar59 = 0xff;\n                      }" if (parenthesized_expression "(dVar76 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar76 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                        if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                      }" { (expression_statement "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }" if (parenthesized_expression "(*(double *)(iVar60 + 0x1410) <= dVar76)" ( (binary_expression "*(double *)(iVar60 + 0x1410) <= dVar76" (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                          uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;\n                        }" { (expression_statement "uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff;" (assignment_expression "uVar59 = (int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff" identifier = (binary_expression "(int)(dVar76 - *(double *)(iVar60 + 0x1410)) & 0xff" (cast_expression "(int)(dVar76 - *(double *)(iVar60 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar76 - *(double *)(iVar60 + 0x1410))" ( (binary_expression "dVar76 - *(double *)(iVar60 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) ))))) ))) & number_literal)) ;) }) (else_clause "else {\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }" else (compound_statement "{\nLAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;\n                        }" { (labeled_statement "LAB_002b9048:\n                          uVar59 = (int)dVar76 & 0xff;" statement_identifier : (expression_statement "uVar59 = (int)dVar76 & 0xff;" (assignment_expression "uVar59 = (int)dVar76 & 0xff" identifier = (binary_expression "(int)dVar76 & 0xff" (cast_expression "(int)dVar76" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }))) }) (else_clause "else {\n                        uVar59 = 0xff;\n                      }" else (compound_statement "{\n                        uVar59 = 0xff;\n                      }" { (expression_statement "uVar59 = 0xff;" (assignment_expression "uVar59 = 0xff" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002b8cb0;" goto statement_identifier ;) })) (if_statement "if (pIVar34->depth == 5) {\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }\n                    else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" if (parenthesized_expression "(pIVar34->depth == 5)" ( (binary_expression "pIVar34->depth == 5" (field_expression "pIVar34->depth" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                      fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);\n                      if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);\n                      if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }\n                      fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);\n                      if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);\n                    }" { (expression_statement "fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4);" (assignment_expression "fVar65 = *(float *)(iVar56 + pPVar22[1].offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pPVar22[1].offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22[1].offset * 4)" ( (binary_expression "iVar56 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar65 <= 0.0) {\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }\n                      else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }" if (parenthesized_expression "(fVar65 <= 0.0)" ( (binary_expression "fVar65 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar59 = 0;\n                        uVar40 = 0;\n                        uVar20 = 0;\n                      }" { (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;) (expression_statement "uVar40 = 0;" (assignment_expression "uVar40 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }" else (compound_statement "{\n                        dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }\n                      }" { (expression_statement "dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar76 = ((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar65 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }\n                        else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }" if (parenthesized_expression "(dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar20 = (extraout_v1_02 & 0xff) << 5;\n                          uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar40 = (uint)(char)uVar20;\n                        }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar76 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar20 = (extraout_v1_02 & 0xff) << 5;" (assignment_expression "uVar20 = (extraout_v1_02 & 0xff) << 5" identifier = (binary_expression "(extraout_v1_02 & 0xff) << 5" (parenthesized_expression "(extraout_v1_02 & 0xff)" ( (binary_expression "extraout_v1_02 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar59 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_02 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_02 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_02 & 0xff)" ( (binary_expression "extraout_v1_02 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar40 = (uint)(char)uVar20;" (assignment_expression "uVar40 = (uint)(char)uVar20" identifier = (cast_expression "(uint)(char)uVar20" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }" else (compound_statement "{\n                          uVar59 = 3;\n                          uVar40 = 0xffffffe0;\n                          uVar20 = 0x1fe0;\n                        }" { (expression_statement "uVar59 = 3;" (assignment_expression "uVar59 = 3" identifier = number_literal) ;) (expression_statement "uVar40 = 0xffffffe0;" (assignment_expression "uVar40 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar20 = 0x1fe0;" (assignment_expression "uVar20 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar69)) {\n                        uVar40 = uVar40 & 0xff;\n                      }\n                      else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }" if (parenthesized_expression "(NAN(fVar69))" ( (call_expression "NAN(fVar69)" identifier (argument_list "(fVar69)" ( identifier ))) )) (compound_statement "{\n                        uVar40 = uVar40 & 0xff;\n                      }" { (expression_statement "uVar40 = uVar40 & 0xff;" (assignment_expression "uVar40 = uVar40 & 0xff" identifier = (binary_expression "uVar40 & 0xff" identifier & number_literal)) ;) }) (else_clause "else if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }" else (if_statement "if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar40 = uVar20 & 0xff;\n                      }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }\n                      }" { (expression_statement "dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar40 = 0xff;\n                        }" if (parenthesized_expression "(dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar40 = (uVar40 | extraout_v1_03) & 0xff;\n                        }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar76 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar40 = (uVar40 | extraout_v1_03) & 0xff;" (assignment_expression "uVar40 = (uVar40 | extraout_v1_03) & 0xff" identifier = (binary_expression "(uVar40 | extraout_v1_03) & 0xff" (parenthesized_expression "(uVar40 | extraout_v1_03)" ( (binary_expression "uVar40 | extraout_v1_03" identifier | identifier) )) & number_literal)) ;) }) (else_clause "else {\n                          uVar40 = 0xff;\n                        }" else (compound_statement "{\n                          uVar40 = 0xff;\n                        }" { (expression_statement "uVar40 = 0xff;" (assignment_expression "uVar40 = 0xff" identifier = number_literal) ;) }))) }) (else_clause "else {\n                        uVar40 = uVar20 & 0xff;\n                      }" else (compound_statement "{\n                        uVar40 = uVar20 & 0xff;\n                      }" { (expression_statement "uVar40 = uVar20 & 0xff;" (assignment_expression "uVar40 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar40)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar40)" ( identifier , identifier ))) ;) (if_statement "if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                        pPVar22 = pIVar34->channel_map;\n                      }\n                      else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }" if (parenthesized_expression "(pIVar34->alpha_trait == UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait == UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                        pPVar22 = pIVar34->channel_map;\n                      }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) }) (else_clause "else {\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }" else (compound_statement "{\n                        pPVar22 = pIVar34->channel_map;\n                        if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }\n                      }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (if_statement "if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))) {\n                          uVar59 = uVar59 | 0xffffff80;\n                        }" if (parenthesized_expression "((pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4)))" ( (binary_expression "(pPVar22[4].traits == UndefinedPixelTrait) ||\n                           (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))" (parenthesized_expression "(pPVar22[4].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar22[4].traits == UndefinedPixelTrait" (field_expression "pPVar22[4].traits" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) == identifier) )) || (parenthesized_expression "(*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4))" ( (binary_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar56 + pPVar22[4].offset * 4)" (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar56 + pPVar22[4].offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22[4].offset * 4)" ( (binary_expression "iVar56 + pPVar22[4].offset * 4" identifier + (binary_expression "pPVar22[4].offset * 4" (field_expression "pPVar22[4].offset" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ))) )) (compound_statement "{\n                          uVar59 = uVar59 | 0xffffff80;\n                        }" { (expression_statement "uVar59 = uVar59 | 0xffffff80;" (assignment_expression "uVar59 = uVar59 | 0xffffff80" identifier = (binary_expression "uVar59 | 0xffffff80" identifier | number_literal)) ;) })) }))) (expression_statement "fVar69 = *(float *)(iVar56 + pPVar22->offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar56 + pPVar22->offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar56 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pPVar22->offset * 4)" ( (binary_expression "iVar56 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar69) {\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                        dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                        if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }\n                      }" { (expression_statement "dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar76 = ((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar69 *\n                                 *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }" if (parenthesized_expression "(dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar76 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));\n                          uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar76 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar76 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;" (assignment_expression "uVar59 = (uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2))" ( (binary_expression "(byte)uVar59 | (byte)((extraout_v1_04 & 0xff) << 2)" (cast_expression "(byte)uVar59" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_04 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_04 & 0xff) << 2)" ( (binary_expression "(extraout_v1_04 & 0xff) << 2" (parenthesized_expression "(extraout_v1_04 & 0xff)" ( (binary_expression "extraout_v1_04 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }" else (compound_statement "{\n                          uVar59 = uVar59 | 0xfffffffc;\n                        }" { (expression_statement "uVar59 = uVar59 | 0xfffffffc;" (assignment_expression "uVar59 = uVar59 | 0xfffffffc" identifier = (binary_expression "uVar59 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59 & 0xff)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar59 & 0xff)" ( identifier , (binary_expression "uVar59 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" else (compound_statement "{\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);\n                      if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);\n                      if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" { (if_statement "if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar59 = 0;\n                      }" { (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" { (expression_statement "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }" if (parenthesized_expression "(dVar76 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar76 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }" { (expression_statement "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar60 + 0x1410) <= dVar76)" ( (binary_expression "*(double *)(iVar60 + 0x1410) <= dVar76" (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }" { (expression_statement "dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);" (assignment_expression "dVar76 = dVar76 - *(double *)(iVar60 + 0x1410)" identifier = (binary_expression "dVar76 - *(double *)(iVar60 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar59 = (int)dVar76 & 0xff;" (assignment_expression "uVar59 = (int)dVar76 & 0xff" identifier = (binary_expression "(int)dVar76 & 0xff" (cast_expression "(int)dVar76" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar59 = 0xff;\n                        }" else (compound_statement "{\n                          uVar59 = 0xff;\n                        }" { (expression_statement "uVar59 = 0xff;" (assignment_expression "uVar59 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar59)" ( identifier , identifier ))) ;) (expression_statement "fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar56 + pIVar34->channel_map[1].offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pIVar34->channel_map[1].offset * 4)" * (cast_expression "(float *)(iVar56 + pIVar34->channel_map[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pIVar34->channel_map[1].offset * 4)" ( (binary_expression "iVar56 + pIVar34->channel_map[1].offset * 4" identifier + (binary_expression "pIVar34->channel_map[1].offset * 4" (field_expression "pIVar34->channel_map[1].offset" (subscript_expression "pIVar34->channel_map[1]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar59 = 0;\n                      }" { (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" { (expression_statement "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }" if (parenthesized_expression "(dVar76 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar76 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }" { (expression_statement "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar60 + 0x1410) <= dVar76)" ( (binary_expression "*(double *)(iVar60 + 0x1410) <= dVar76" (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }" { (expression_statement "dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);" (assignment_expression "dVar76 = dVar76 - *(double *)(iVar60 + 0x1410)" identifier = (binary_expression "dVar76 - *(double *)(iVar60 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar59 = (int)dVar76 & 0xff;" (assignment_expression "uVar59 = (int)dVar76 & 0xff" identifier = (binary_expression "(int)dVar76 & 0xff" (cast_expression "(int)dVar76" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar59 = 0xff;\n                        }" else (compound_statement "{\n                          uVar59 = 0xff;\n                        }" { (expression_statement "uVar59 = 0xff;" (assignment_expression "uVar59 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar59)" ( identifier , identifier ))) ;) (expression_statement "fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar56 + pIVar34->channel_map->offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pIVar34->channel_map->offset * 4)" * (cast_expression "(float *)(iVar56 + pIVar34->channel_map->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pIVar34->channel_map->offset * 4)" ( (binary_expression "iVar56 + pIVar34->channel_map->offset * 4" identifier + (binary_expression "pIVar34->channel_map->offset * 4" (field_expression "pIVar34->channel_map->offset" (field_expression "pIVar34->channel_map" identifier -> field_identifier) -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) {\n                        uVar59 = 0;\n                      }\n                      else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar59 = 0;\n                      }" { (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                        if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }\n                      }" { (expression_statement "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar76 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar76 < *(double *)(iVar52 + -0x5ae8)) {\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }\n                        else {\n                          uVar59 = 0xff;\n                        }" if (parenthesized_expression "(dVar76 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar76 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);\n                          if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }\n                          uVar59 = (int)dVar76 & 0xff;\n                        }" { (expression_statement "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar76 = dVar76 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar76 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar60 + 0x1410) <= dVar76) {\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar60 + 0x1410) <= dVar76)" ( (binary_expression "*(double *)(iVar60 + 0x1410) <= dVar76" (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);\n                          }" { (expression_statement "dVar76 = dVar76 - *(double *)(iVar60 + 0x1410);" (assignment_expression "dVar76 = dVar76 - *(double *)(iVar60 + 0x1410)" identifier = (binary_expression "dVar76 - *(double *)(iVar60 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar60 + 0x1410)" * (cast_expression "(double *)(iVar60 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x1410)" ( (binary_expression "iVar60 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar59 = (int)dVar76 & 0xff;" (assignment_expression "uVar59 = (int)dVar76 & 0xff" identifier = (binary_expression "(int)dVar76 & 0xff" (cast_expression "(int)dVar76" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar59 = 0xff;\n                        }" else (compound_statement "{\n                          uVar59 = 0xff;\n                        }" { (expression_statement "uVar59 = 0xff;" (assignment_expression "uVar59 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar59)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar59)" ( identifier , identifier ))) ;) (if_statement "if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" if (parenthesized_expression "(pIVar34->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                        uVar59 = 0xff;\n                        if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" { (expression_statement "uVar59 = 0xff;" (assignment_expression "uVar59 = 0xff" identifier = number_literal) ;) (if_statement "if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }" if (parenthesized_expression "(pIVar34->channel_map[4].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar34->channel_map[4].traits != UndefinedPixelTrait" (field_expression "pIVar34->channel_map[4].traits" (subscript_expression "pIVar34->channel_map[4]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                          fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);\n                          if (fVar69 <= 0.0) goto LAB_002b8cac;\n                          dVar76 = (double)fVar69 / dVar79;\n                          uVar59 = 0xff;\n                          if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }\n                        }" { (expression_statement "fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar56 + pIVar34->channel_map[4].offset * 4)" identifier = (pointer_expression "*(float *)(iVar56 + pIVar34->channel_map[4].offset * 4)" * (cast_expression "(float *)(iVar56 + pIVar34->channel_map[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + pIVar34->channel_map[4].offset * 4)" ( (binary_expression "iVar56 + pIVar34->channel_map[4].offset * 4" identifier + (binary_expression "pIVar34->channel_map[4].offset * 4" (field_expression "pIVar34->channel_map[4].offset" (subscript_expression "pIVar34->channel_map[4]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) goto LAB_002b8cac;" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8cac;" goto statement_identifier ;)) (expression_statement "dVar76 = (double)fVar69 / dVar79;" (assignment_expression "dVar76 = (double)fVar69 / dVar79" identifier = (binary_expression "(double)fVar69 / dVar79" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (expression_statement "uVar59 = 0xff;" (assignment_expression "uVar59 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar76 < dVar75) {\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }" if (parenthesized_expression "(dVar76 < dVar75)" ( (binary_expression "dVar76 < dVar75" identifier < identifier) )) (compound_statement "{\n                            dVar76 = dVar76 + dVar77;\n                            if (dVar76 < dVar72) goto LAB_002b9048;\n                            uVar59 = (int)(dVar76 - dVar72) & 0xff;\n                          }" { (expression_statement "dVar76 = dVar76 + dVar77;" (assignment_expression "dVar76 = dVar76 + dVar77" identifier = (binary_expression "dVar76 + dVar77" identifier + identifier)) ;) (if_statement "if (dVar76 < dVar72) goto LAB_002b9048;" if (parenthesized_expression "(dVar76 < dVar72)" ( (binary_expression "dVar76 < dVar72" identifier < identifier) )) (goto_statement "goto LAB_002b9048;" goto statement_identifier ;)) (expression_statement "uVar59 = (int)(dVar76 - dVar72) & 0xff;" (assignment_expression "uVar59 = (int)(dVar76 - dVar72) & 0xff" identifier = (binary_expression "(int)(dVar76 - dVar72) & 0xff" (cast_expression "(int)(dVar76 - dVar72)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar76 - dVar72)" ( (binary_expression "dVar76 - dVar72" identifier - identifier) ))) & number_literal)) ;) })) })) (goto_statement "goto LAB_002b8cb0;" goto statement_identifier ;) })) }))) }))) (expression_statement "uVar44 = uVar44 - 1;" (assignment_expression "uVar44 = uVar44 - 1" identifier = (binary_expression "uVar44 - 1" identifier - number_literal)) ;) (expression_statement "iVar56 = iVar56 + iVar55;" (assignment_expression "iVar56 = iVar56 + iVar55" identifier = (binary_expression "iVar56 + iVar55" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar44 != 0xffffffff)" ( (binary_expression "uVar44 != 0xffffffff" identifier != number_literal) )) ;) (expression_statement "iVar60 = 0;" (assignment_expression "iVar60 = 0" identifier = number_literal) ;) (if_statement "if (!bVar1) goto LAB_002b873c;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_002b873c;" goto statement_identifier ;)) (expression_statement "sVar47 = pIVar34->columns;" (assignment_expression "sVar47 = pIVar34->columns" identifier = (field_expression "pIVar34->columns" identifier -> field_identifier)) ;) }))) (labeled_statement "LAB_002b869c:\n              iVar56 = iVar60;" statement_identifier : (expression_statement "iVar56 = iVar60;" (assignment_expression "iVar56 = iVar60" identifier = identifier) ;)) }) while (parenthesized_expression "((int)sStack_1ec < (int)sVar47)" ( (binary_expression "(int)sStack_1ec < (int)sVar47" (cast_expression "(int)sStack_1ec" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)sVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }" else (if_statement "if (0 < (int)sVar47) {\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }" if (parenthesized_expression "(0 < (int)sVar47)" ( (binary_expression "0 < (int)sVar47" number_literal < (cast_expression "(int)sVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar60 = 0;\n          iVar52 = *(int *)(puVar61 + 0xf0dd4);\n          iVar56 = *(int *)(puVar61 + 0xf0dcc);\n          dVar75 = *(double *)(iVar43 + -0x5af0);\n          dVar76 = *(double *)(iVar52 + -0x5ae8);\n          dVar72 = *(double *)(iVar27 + 0x1400);\n          dVar70 = *(double *)(iVar56 + 0x1410);\n          do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);\n        }" { (expression_statement "iVar60 = 0;" (assignment_expression "iVar60 = 0" identifier = number_literal) ;) (expression_statement "iVar52 = *(int *)(puVar61 + 0xf0dd4);" (assignment_expression "iVar52 = *(int *)(puVar61 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "iVar56 = *(int *)(puVar61 + 0xf0dcc);" (assignment_expression "iVar56 = *(int *)(puVar61 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar75 = *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar75 = *(double *)(iVar43 + -0x5af0)" identifier = (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar76 = *(double *)(iVar52 + -0x5ae8);" (assignment_expression "dVar76 = *(double *)(iVar52 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "dVar72 = *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar72 = *(double *)(iVar27 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "dVar70 = *(double *)(iVar56 + 0x1410);" (assignment_expression "dVar70 = *(double *)(iVar56 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) ))))) ;) (do_statement "do {\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          } while (iVar60 < (int)pIVar34->columns);" do (compound_statement "{\n            pPVar22 = pIVar34->channel_map;\n            if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar60 = iVar60 + 1;\n            iVar21 = iVar21 + iVar55;\n          }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (if_statement "if ((uVar33 & 3) == 1) {\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }\n            else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" if (parenthesized_expression "((uVar33 & 3) == 1)" ( (binary_expression "(uVar33 & 3) == 1" (parenthesized_expression "(uVar33 & 3)" ( (binary_expression "uVar33 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n            }" { (if_statement "if (pPVar22[5].traits == UndefinedPixelTrait) {\nLAB_002b8324:\n                uVar44 = 0;\n              }\n              else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" if (parenthesized_expression "(pPVar22[5].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar22[5].traits == UndefinedPixelTrait" (field_expression "pPVar22[5].traits" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) == identifier) )) (compound_statement "{\nLAB_002b8324:\n                uVar44 = 0;\n              }" { (labeled_statement "LAB_002b8324:\n                uVar44 = 0;" statement_identifier : (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" else (compound_statement "{\n                fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);\n                if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" { (expression_statement "fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pPVar22[5].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22[5].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[5].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[5].offset * 4)" ( (binary_expression "iVar21 + pPVar22[5].offset * 4" identifier + (binary_expression "pPVar22[5].offset * 4" (field_expression "pPVar22[5].offset" (subscript_expression "pPVar22[5]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) {\n                  uVar44 = (int)fVar69 & 0xff;\n                }\n                else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" if (parenthesized_expression "(fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar69 < *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                  uVar44 = (int)fVar69 & 0xff;\n                }" { (expression_statement "uVar44 = (int)fVar69 & 0xff;" (assignment_expression "uVar44 = (int)fVar69 & 0xff" identifier = (binary_expression "(int)fVar69 & 0xff" (cast_expression "(int)fVar69" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" else (compound_statement "{\n                  uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" { (expression_statement "uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff;" (assignment_expression "uVar44 = (int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff" identifier = (binary_expression "(int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)) & 0xff" (cast_expression "(int)(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar69 - *(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar61 + 0xf0dd0)" * (cast_expression "(int *)(puVar61 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd0)" ( (binary_expression "puVar61 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8328:\n              (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" statement_identifier : (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" else (compound_statement "{\n              fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);\n              if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" { (expression_statement "fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pPVar22[2].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22[2].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[2].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[2].offset * 4)" ( (binary_expression "iVar21 + pPVar22[2].offset * 4" identifier + (binary_expression "pPVar22[2].offset * 4" (field_expression "pPVar22[2].offset" (subscript_expression "pPVar22[2]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if ((uVar33 & 3) == 3) {\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" if (parenthesized_expression "((uVar33 & 3) == 3)" ( (binary_expression "(uVar33 & 3) == 3" (parenthesized_expression "(uVar33 & 3)" ( (binary_expression "uVar33 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);\n                if (fVar69 <= 0.0) goto LAB_002b8324;\n                dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" { (expression_statement "fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar69 = fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar69 * *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar21 + pPVar22->offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar21 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22->offset * 4)" ( (binary_expression "iVar21 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar21 + pPVar22[1].offset * 4) *\n                         *(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar21 + pPVar22[1].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[1].offset * 4)" ( (binary_expression "iVar21 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar61 + 0xf0dd4)" * (cast_expression "(int *)(puVar61 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd4)" ( (binary_expression "puVar61 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar69 <= 0.0) goto LAB_002b8324;" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8324;" goto statement_identifier ;)) (expression_statement "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }\n                else {\n                  uVar44 = 0xff;\n                }" if (parenthesized_expression "(dVar63 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar63 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                  dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                  if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                }" { (expression_statement "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }" if (parenthesized_expression "(*(double *)(iVar56 + 0x1410) <= dVar63)" ( (binary_expression "*(double *)(iVar56 + 0x1410) <= dVar63" (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;\n                  }" { (expression_statement "uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff;" (assignment_expression "uVar44 = (int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff" identifier = (binary_expression "(int)(dVar63 - *(double *)(iVar56 + 0x1410)) & 0xff" (cast_expression "(int)(dVar63 - *(double *)(iVar56 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar63 - *(double *)(iVar56 + 0x1410))" ( (binary_expression "dVar63 - *(double *)(iVar56 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) ))))) ))) & number_literal)) ;) }) (else_clause "else {\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }" else (compound_statement "{\nLAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;\n                  }" { (labeled_statement "LAB_002b8e7c:\n                    uVar44 = (int)dVar63 & 0xff;" statement_identifier : (expression_statement "uVar44 = (int)dVar63 & 0xff;" (assignment_expression "uVar44 = (int)dVar63 & 0xff" identifier = (binary_expression "(int)dVar63 & 0xff" (cast_expression "(int)dVar63" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }))) }) (else_clause "else {\n                  uVar44 = 0xff;\n                }" else (compound_statement "{\n                  uVar44 = 0xff;\n                }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002b8328;" goto statement_identifier ;) })) (if_statement "if (pIVar34->depth == 5) {\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }\n              else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" if (parenthesized_expression "(pIVar34->depth == 5)" ( (binary_expression "pIVar34->depth == 5" (field_expression "pIVar34->depth" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);\n                if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);\n                if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }\n                fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);\n                if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);\n              }" { (expression_statement "fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4);" (assignment_expression "fVar65 = *(float *)(iVar21 + pPVar22[1].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22[1].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[1].offset * 4)" ( (binary_expression "iVar21 + pPVar22[1].offset * 4" identifier + (binary_expression "pPVar22[1].offset * 4" (field_expression "pPVar22[1].offset" (subscript_expression "pPVar22[1]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar65 <= 0.0) {\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }\n                else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }" if (parenthesized_expression "(fVar65 <= 0.0)" ( (binary_expression "fVar65 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar44 = 0;\n                  uVar20 = 0;\n                  uVar59 = 0;\n                }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar59 = 0;" (assignment_expression "uVar59 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }" else (compound_statement "{\n                  dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }\n                }" { (expression_statement "dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar63 = ((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar65 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar65" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }\n                  else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }" if (parenthesized_expression "(dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar59 = (extraout_v1 & 0xff) << 5;\n                    uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar20 = (uint)(char)uVar59;\n                  }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar63 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar59 = (extraout_v1 & 0xff) << 5;" (assignment_expression "uVar59 = (extraout_v1 & 0xff) << 5" identifier = (binary_expression "(extraout_v1 & 0xff) << 5" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar44 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar20 = (uint)(char)uVar59;" (assignment_expression "uVar20 = (uint)(char)uVar59" identifier = (cast_expression "(uint)(char)uVar59" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar59" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }" else (compound_statement "{\n                    uVar44 = 3;\n                    uVar20 = 0xffffffe0;\n                    uVar59 = 0x1fe0;\n                  }" { (expression_statement "uVar44 = 3;" (assignment_expression "uVar44 = 3" identifier = number_literal) ;) (expression_statement "uVar20 = 0xffffffe0;" (assignment_expression "uVar20 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar59 = 0x1fe0;" (assignment_expression "uVar59 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar69)) {\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }\n                else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }" if (parenthesized_expression "(NAN(fVar69))" ( (call_expression "NAN(fVar69)" identifier (argument_list "(fVar69)" ( identifier ))) )) (compound_statement "{\nLAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;\n                }" { (labeled_statement "LAB_002b8f78:\n                  uVar20 = uVar20 & 0xff;" statement_identifier : (expression_statement "uVar20 = uVar20 & 0xff;" (assignment_expression "uVar20 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;)) }) (else_clause "else if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }" else (if_statement "if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }\n                else {\n                  uVar20 = uVar59 & 0xff;\n                }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar20 = 0xff;\n                }" { (expression_statement "dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" if (parenthesized_expression "(dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar20 = uVar20 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar63 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar20 = uVar20 | extraout_v1_00;" (assignment_expression "uVar20 = uVar20 | extraout_v1_00" identifier = (binary_expression "uVar20 | extraout_v1_00" identifier | identifier)) ;) (goto_statement "goto LAB_002b8f78;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0xff;" (assignment_expression "uVar20 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar20 = uVar59 & 0xff;\n                }" else (compound_statement "{\n                  uVar20 = uVar59 & 0xff;\n                }" { (expression_statement "uVar20 = uVar59 & 0xff;" (assignment_expression "uVar20 = uVar59 & 0xff" identifier = (binary_expression "uVar59 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar20)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar20)" ( identifier , identifier ))) ;) (if_statement "if (pIVar34->alpha_trait == UndefinedPixelTrait) {\n                  pPVar22 = pIVar34->channel_map;\n                }\n                else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }" if (parenthesized_expression "(pIVar34->alpha_trait == UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait == UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                  pPVar22 = pIVar34->channel_map;\n                }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) }) (else_clause "else {\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }" else (compound_statement "{\n                  pPVar22 = pIVar34->channel_map;\n                  if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }\n                }" { (expression_statement "pPVar22 = pIVar34->channel_map;" (assignment_expression "pPVar22 = pIVar34->channel_map" identifier = (field_expression "pIVar34->channel_map" identifier -> field_identifier)) ;) (if_statement "if ((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))) {\n                    uVar44 = uVar44 | 0xffffff80;\n                  }" if (parenthesized_expression "((pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4)))" ( (binary_expression "(pPVar22[4].traits == UndefinedPixelTrait) ||\n                     (*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))" (parenthesized_expression "(pPVar22[4].traits == UndefinedPixelTrait)" ( (binary_expression "pPVar22[4].traits == UndefinedPixelTrait" (field_expression "pPVar22[4].traits" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) == identifier) )) || (parenthesized_expression "(*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4))" ( (binary_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar21 + pPVar22[4].offset * 4)" (pointer_expression "*(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar21 + pPVar22[4].offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22[4].offset * 4)" ( (binary_expression "iVar21 + pPVar22[4].offset * 4" identifier + (binary_expression "pPVar22[4].offset * 4" (field_expression "pPVar22[4].offset" (subscript_expression "pPVar22[4]" identifier [ number_literal ]) . field_identifier) * number_literal)) ))))) ))) )) (compound_statement "{\n                    uVar44 = uVar44 | 0xffffff80;\n                  }" { (expression_statement "uVar44 = uVar44 | 0xffffff80;" (assignment_expression "uVar44 = uVar44 | 0xffffff80" identifier = (binary_expression "uVar44 | 0xffffff80" identifier | number_literal)) ;) })) }))) (expression_statement "fVar69 = *(float *)(iVar21 + pPVar22->offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pPVar22->offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pPVar22->offset * 4)" * (cast_expression "(float *)(iVar21 + pPVar22->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pPVar22->offset * 4)" ( (binary_expression "iVar21 + pPVar22->offset * 4" identifier + (binary_expression "pPVar22->offset * 4" (field_expression "pPVar22->offset" identifier -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar69) {\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }" if (parenthesized_expression "(0.0 < fVar69)" ( (binary_expression "0.0 < fVar69" number_literal < identifier) )) (compound_statement "{\n                  dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);\n                  if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }\n                }" { (expression_statement "dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar63 = ((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar69 * *(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }" if (parenthesized_expression "(dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar63 < *(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar61 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));\n                    uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }" { (expression_statement "(**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400));" (call_expression "(**(code **)(puVar61 + 0xf0e40))(dVar63 + *(double *)(iVar27 + 0x1400))" (parenthesized_expression "(**(code **)(puVar61 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar61 + 0xf0e40)" * (pointer_expression "*(code **)(puVar61 + 0xf0e40)" * (cast_expression "(code **)(puVar61 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf0e40)" ( (binary_expression "puVar61 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar63 + *(double *)(iVar27 + 0x1400))" ( (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2));" (assignment_expression "uVar44 = (uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2))" ( (binary_expression "(byte)uVar44 | (byte)((extraout_v1_01 & 0xff) << 2)" (cast_expression "(byte)uVar44" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_01 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_01 & 0xff) << 2)" ( (binary_expression "(extraout_v1_01 & 0xff) << 2" (parenthesized_expression "(extraout_v1_01 & 0xff)" ( (binary_expression "extraout_v1_01 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }" else (compound_statement "{\n                    uVar44 = uVar44 | 0xfffffffc;\n                  }" { (expression_statement "uVar44 = uVar44 | 0xfffffffc;" (assignment_expression "uVar44 = uVar44 | 0xfffffffc" identifier = (binary_expression "uVar44 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44 & 0xff)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44 & 0xff)" ( identifier , (binary_expression "uVar44 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" else (compound_statement "{\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);\n                if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }\n                (**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);\n                if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" { (if_statement "if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar44 = 0;\n                }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" { (expression_statement "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }" if (parenthesized_expression "(dVar63 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar63 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }" { (expression_statement "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar56 + 0x1410) <= dVar63)" ( (binary_expression "*(double *)(iVar56 + 0x1410) <= dVar63" (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }" { (expression_statement "dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);" (assignment_expression "dVar63 = dVar63 - *(double *)(iVar56 + 0x1410)" identifier = (binary_expression "dVar63 - *(double *)(iVar56 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar44 = (int)dVar63 & 0xff;" (assignment_expression "uVar44 = (int)dVar63 & 0xff" identifier = (binary_expression "(int)dVar63 & 0xff" (cast_expression "(int)dVar63" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar44 = 0xff;\n                  }" else (compound_statement "{\n                    uVar44 = 0xff;\n                  }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;) (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[1].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map[1].offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map[1].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map[1].offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map[1].offset * 4" identifier + (binary_expression "pIVar34->channel_map[1].offset * 4" (field_expression "pIVar34->channel_map[1].offset" (subscript_expression "pIVar34->channel_map[1]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar44 = 0;\n                }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" { (expression_statement "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }" if (parenthesized_expression "(dVar63 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar63 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }" { (expression_statement "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar56 + 0x1410) <= dVar63)" ( (binary_expression "*(double *)(iVar56 + 0x1410) <= dVar63" (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }" { (expression_statement "dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);" (assignment_expression "dVar63 = dVar63 - *(double *)(iVar56 + 0x1410)" identifier = (binary_expression "dVar63 - *(double *)(iVar56 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar44 = (int)dVar63 & 0xff;" (assignment_expression "uVar44 = (int)dVar63 & 0xff" identifier = (binary_expression "(int)dVar63 & 0xff" (cast_expression "(int)dVar63" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar44 = 0xff;\n                  }" else (compound_statement "{\n                    uVar44 = 0xff;\n                  }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;) (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map->offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map->offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map->offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map->offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map->offset * 4" identifier + (binary_expression "pIVar34->channel_map->offset * 4" (field_expression "pIVar34->channel_map->offset" (field_expression "pIVar34->channel_map" identifier -> field_identifier) -> field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) {\n                  uVar44 = 0;\n                }\n                else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar44 = 0;\n                }" { (expression_statement "uVar44 = 0;" (assignment_expression "uVar44 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);\n                  if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }\n                }" { (expression_statement "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0);" (assignment_expression "dVar63 = (double)fVar69 / *(double *)(iVar43 + -0x5af0)" identifier = (binary_expression "(double)fVar69 / *(double *)(iVar43 + -0x5af0)" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar43 + -0x5af0)" * (cast_expression "(double *)(iVar43 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + -0x5af0)" ( (binary_expression "iVar43 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar63 < *(double *)(iVar52 + -0x5ae8)) {\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }\n                  else {\n                    uVar44 = 0xff;\n                  }" if (parenthesized_expression "(dVar63 < *(double *)(iVar52 + -0x5ae8))" ( (binary_expression "dVar63 < *(double *)(iVar52 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar52 + -0x5ae8)" * (cast_expression "(double *)(iVar52 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar52 + -0x5ae8)" ( (binary_expression "iVar52 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);\n                    if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }\n                    uVar44 = (int)dVar63 & 0xff;\n                  }" { (expression_statement "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400);" (assignment_expression "dVar63 = dVar63 + *(double *)(iVar27 + 0x1400)" identifier = (binary_expression "dVar63 + *(double *)(iVar27 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar27 + 0x1400)" * (cast_expression "(double *)(iVar27 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar27 + 0x1400)" ( (binary_expression "iVar27 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar56 + 0x1410) <= dVar63) {\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar56 + 0x1410) <= dVar63)" ( (binary_expression "*(double *)(iVar56 + 0x1410) <= dVar63" (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);\n                    }" { (expression_statement "dVar63 = dVar63 - *(double *)(iVar56 + 0x1410);" (assignment_expression "dVar63 = dVar63 - *(double *)(iVar56 + 0x1410)" identifier = (binary_expression "dVar63 - *(double *)(iVar56 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar56 + 0x1410)" * (cast_expression "(double *)(iVar56 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar56 + 0x1410)" ( (binary_expression "iVar56 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar44 = (int)dVar63 & 0xff;" (assignment_expression "uVar44 = (int)dVar63 & 0xff" identifier = (binary_expression "(int)dVar63 & 0xff" (cast_expression "(int)dVar63" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar44 = 0xff;\n                  }" else (compound_statement "{\n                    uVar44 = 0xff;\n                  }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44);" (call_expression "(**(code **)(puVar61 + 0xf14c8))(pIVar34,uVar44)" (parenthesized_expression "(**(code **)(puVar61 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar61 + 0xf14c8)" * (pointer_expression "*(code **)(puVar61 + 0xf14c8)" * (cast_expression "(code **)(puVar61 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf14c8)" ( (binary_expression "puVar61 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pIVar34,uVar44)" ( identifier , identifier ))) ;) (if_statement "if (pIVar34->alpha_trait != UndefinedPixelTrait) {\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" if (parenthesized_expression "(pIVar34->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar34->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar34->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                  uVar44 = 0xff;\n                  if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" { (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) (if_statement "if (pIVar34->channel_map[4].traits != UndefinedPixelTrait) {\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }" if (parenthesized_expression "(pIVar34->channel_map[4].traits != UndefinedPixelTrait)" ( (binary_expression "pIVar34->channel_map[4].traits != UndefinedPixelTrait" (field_expression "pIVar34->channel_map[4].traits" (subscript_expression "pIVar34->channel_map[4]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) != identifier) )) (compound_statement "{\n                    fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);\n                    if (fVar69 <= 0.0) goto LAB_002b8324;\n                    dVar63 = (double)fVar69 / dVar75;\n                    uVar44 = 0xff;\n                    if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }\n                  }" { (expression_statement "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4);" (assignment_expression "fVar69 = *(float *)(iVar21 + pIVar34->channel_map[4].offset * 4)" identifier = (pointer_expression "*(float *)(iVar21 + pIVar34->channel_map[4].offset * 4)" * (cast_expression "(float *)(iVar21 + pIVar34->channel_map[4].offset * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + pIVar34->channel_map[4].offset * 4)" ( (binary_expression "iVar21 + pIVar34->channel_map[4].offset * 4" identifier + (binary_expression "pIVar34->channel_map[4].offset * 4" (field_expression "pIVar34->channel_map[4].offset" (subscript_expression "pIVar34->channel_map[4]" (field_expression "pIVar34->channel_map" identifier -> field_identifier) [ number_literal ]) . field_identifier) * number_literal)) ))))) ;) (if_statement "if (fVar69 <= 0.0) goto LAB_002b8324;" if (parenthesized_expression "(fVar69 <= 0.0)" ( (binary_expression "fVar69 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8324;" goto statement_identifier ;)) (expression_statement "dVar63 = (double)fVar69 / dVar75;" (assignment_expression "dVar63 = (double)fVar69 / dVar75" identifier = (binary_expression "(double)fVar69 / dVar75" (cast_expression "(double)fVar69" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (expression_statement "uVar44 = 0xff;" (assignment_expression "uVar44 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar63 < dVar76) {\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }" if (parenthesized_expression "(dVar63 < dVar76)" ( (binary_expression "dVar63 < dVar76" identifier < identifier) )) (compound_statement "{\n                      dVar63 = dVar63 + dVar72;\n                      if (dVar63 < dVar70) goto LAB_002b8e7c;\n                      uVar44 = (int)(dVar63 - dVar70) & 0xff;\n                    }" { (expression_statement "dVar63 = dVar63 + dVar72;" (assignment_expression "dVar63 = dVar63 + dVar72" identifier = (binary_expression "dVar63 + dVar72" identifier + identifier)) ;) (if_statement "if (dVar63 < dVar70) goto LAB_002b8e7c;" if (parenthesized_expression "(dVar63 < dVar70)" ( (binary_expression "dVar63 < dVar70" identifier < identifier) )) (goto_statement "goto LAB_002b8e7c;" goto statement_identifier ;)) (expression_statement "uVar44 = (int)(dVar63 - dVar70) & 0xff;" (assignment_expression "uVar44 = (int)(dVar63 - dVar70) & 0xff" identifier = (binary_expression "(int)(dVar63 - dVar70) & 0xff" (cast_expression "(int)(dVar63 - dVar70)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar63 - dVar70)" ( (binary_expression "dVar63 - dVar70" identifier - identifier) ))) & number_literal)) ;) })) })) (goto_statement "goto LAB_002b8328;" goto statement_identifier ;) })) }))) }))) (expression_statement "iVar60 = iVar60 + 1;" (assignment_expression "iVar60 = iVar60 + 1" identifier = (binary_expression "iVar60 + 1" identifier + number_literal)) ;) (expression_statement "iVar21 = iVar21 + iVar55;" (assignment_expression "iVar21 = iVar21 + iVar55" identifier = (binary_expression "iVar21 + iVar55" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar60 < (int)pIVar34->columns)" ( (binary_expression "iVar60 < (int)pIVar34->columns" identifier < (cast_expression "(int)pIVar34->columns" ( (type_descriptor "int" primitive_type) ) (field_expression "pIVar34->columns" identifier -> field_identifier))) )) ;) })))) (expression_statement "sVar47 = pIVar34->rows;" (assignment_expression "sVar47 = pIVar34->rows" identifier = (field_expression "pIVar34->rows" identifier -> field_identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (if_statement "if (sVar47 <= uVar19) {\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }" if (parenthesized_expression "(sVar47 <= uVar19)" ( (binary_expression "sVar47 <= uVar19" identifier <= identifier) )) (compound_statement "{\n          uStack_1a0 = uStack_1a0 + 1;\n          uVar19 = uStack_1a0;\n        }" { (expression_statement "uStack_1a0 = uStack_1a0 + 1;" (assignment_expression "uStack_1a0 = uStack_1a0 + 1" identifier = (binary_expression "uStack_1a0 + 1" identifier + number_literal)) ;) (expression_statement "uVar19 = uStack_1a0;" (assignment_expression "uVar19 = uStack_1a0" identifier = identifier) ;) })) (if_statement "if (pIVar34->previous == (_Image *)0x0) {\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }" if (parenthesized_expression "(pIVar34->previous == (_Image *)0x0)" ( (binary_expression "pIVar34->previous == (_Image *)0x0" (field_expression "pIVar34->previous" identifier -> field_identifier) == (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );\n          if (iVar21 == 0) break;\n          sVar47 = pIVar34->rows;\n        }" { (expression_statement "iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             );" (assignment_expression "iVar21 = (**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             )" identifier = (call_expression "(**(code **)(puVar61 + 0xf11a0))\n                             (pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             )" (parenthesized_expression "(**(code **)(puVar61 + 0xf11a0))" ( (pointer_expression "**(code **)(puVar61 + 0xf11a0)" * (pointer_expression "*(code **)(puVar61 + 0xf11a0)" * (cast_expression "(code **)(puVar61 + 0xf11a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf11a0)" ( (binary_expression "puVar61 + 0xf11a0" identifier + number_literal) ))))) )) (argument_list "(pIVar34,*(int *)(puVar61 + 0xf0dd8) + -0x15c,iVar8,uStack_1c8,0,sVar47\n                             )" ( identifier , (binary_expression "*(int *)(puVar61 + 0xf0dd8) + -0x15c" (pointer_expression "*(int *)(puVar61 + 0xf0dd8)" * (cast_expression "(int *)(puVar61 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dd8)" ( (binary_expression "puVar61 + 0xf0dd8" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "sVar47 = pIVar34->rows;" (assignment_expression "sVar47 = pIVar34->rows" identifier = (field_expression "pIVar34->rows" identifier -> field_identifier)) ;) })) (expression_statement "uVar44 = uStack_1c8 + 1;" (assignment_expression "uVar44 = uStack_1c8 + 1" identifier = (binary_expression "uStack_1c8 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8;" (assignment_expression "iVar8 = (uint)(uVar44 < uStack_1c8) + iVar8" identifier = (binary_expression "(uint)(uVar44 < uStack_1c8) + iVar8" (call_expression "(uint)(uVar44 < uStack_1c8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar44 < uStack_1c8)" ( (binary_expression "uVar44 < uStack_1c8" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_1c8 = uVar44;" (assignment_expression "uStack_1c8 = uVar44" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar44 < (int)sVar47)" ( (binary_expression "(int)uVar44 < (int)sVar47" (cast_expression "(int)uVar44" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)sVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "(**(code **)(puVar61 + 0xf1b74))(pIVar34);" (call_expression "(**(code **)(puVar61 + 0xf1b74))(pIVar34)" (parenthesized_expression "(**(code **)(puVar61 + 0xf1b74))" ( (pointer_expression "**(code **)(puVar61 + 0xf1b74)" * (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) )) (argument_list "(pIVar34)" ( identifier ))) ;) (return_statement "return (Image *)0x1;" return (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(puVar61 + 0xf140c))\n            (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,\n             pIVar34->filename);" (call_expression "(**(code **)(puVar61 + 0xf140c))\n            (pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,\n             pIVar34->filename)" (parenthesized_expression "(**(code **)(puVar61 + 0xf140c))" ( (pointer_expression "**(code **)(puVar61 + 0xf140c)" * (pointer_expression "*(code **)(puVar61 + 0xf140c)" * (cast_expression "(code **)(puVar61 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf140c)" ( (binary_expression "puVar61 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pEVar36,*(int *)(puVar61 + 0xf0e38) + 0x3720,*(int *)(puVar61 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar61 + 0xf0dcc) + 0x1284,*(int *)(puVar61 + 0xf0dcc) + 0x3e28,\n             pIVar34->filename)" ( identifier , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar61 + 0xf0e38)" * (cast_expression "(int *)(puVar61 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0e38)" ( (binary_expression "puVar61 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar61 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar61 + 0xf0dcc)" * (cast_expression "(int *)(puVar61 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar61 + 0xf0dcc)" ( (binary_expression "puVar61 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (field_expression "pIVar34->filename" identifier -> field_identifier) ))) ;) (expression_statement "pIVar7 = pIVar34;" (assignment_expression "pIVar7 = pIVar34" identifier = identifier) ;) (if_statement "if (pCVar6[3] == UndefinedCompression) {\n    pcVar62 = *(code **)(puVar61 + 0xf1b74);\n  }\n  else {\n    do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);\n  }" if (parenthesized_expression "(pCVar6[3] == UndefinedCompression)" ( (binary_expression "pCVar6[3] == UndefinedCompression" (subscript_expression "pCVar6[3]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n    pcVar62 = *(code **)(puVar61 + 0xf1b74);\n  }" { (expression_statement "pcVar62 = *(code **)(puVar61 + 0xf1b74);" (assignment_expression "pcVar62 = *(code **)(puVar61 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);\n  }" else (compound_statement "{\n    do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);\n  }" { (do_statement "do {\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    } while (pIVar34->previous != (_Image *)0x0);" do (compound_statement "{\n      pIVar34 = pIVar7;\n      pcVar62 = *(code **)(puVar61 + 0xf1b74);\n      pIVar7 = pIVar34->previous;\n    }" { (expression_statement "pIVar34 = pIVar7;" (assignment_expression "pIVar34 = pIVar7" identifier = identifier) ;) (expression_statement "pcVar62 = *(code **)(puVar61 + 0xf1b74);" (assignment_expression "pcVar62 = *(code **)(puVar61 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar61 + 0xf1b74)" * (cast_expression "(code **)(puVar61 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar61 + 0xf1b74)" ( (binary_expression "puVar61 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pIVar7 = pIVar34->previous;" (assignment_expression "pIVar7 = pIVar34->previous" identifier = (field_expression "pIVar34->previous" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pIVar34->previous != (_Image *)0x0)" ( (binary_expression "pIVar34->previous != (_Image *)0x0" (field_expression "pIVar34->previous" identifier -> field_identifier) != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (labeled_statement "LAB_002b7c64:\n  (*pcVar62)(pIVar34);" statement_identifier : (expression_statement "(*pcVar62)(pIVar34);" (call_expression "(*pcVar62)(pIVar34)" (parenthesized_expression "(*pcVar62)" ( (pointer_expression "*pcVar62" * identifier) )) (argument_list "(pIVar34)" ( identifier ))) ;)) (return_statement "return (Image *)0x0;" return (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "float * FUN_002b67b0(int param_1,float *param_2)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}\n\n" (function_definition "float * FUN_002b67b0(int param_1,float *param_2)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}" primitive_type (pointer_declarator "* FUN_002b67b0(int param_1,float *param_2)" * (function_declarator "FUN_002b67b0(int param_1,float *param_2)" identifier (parameter_list "(int param_1,float *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "float *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "float *pfVar5;" primitive_type (pointer_declarator "*pfVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "float fVar8;" primitive_type identifier ;) (declaration "float **ppfVar9;" primitive_type (pointer_declarator "**ppfVar9" * (pointer_declarator "*ppfVar9" * identifier)) ;) (declaration "float **ppfVar10;" primitive_type (pointer_declarator "**ppfVar10" * (pointer_declarator "*ppfVar10" * identifier)) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "float *pfVar12;" primitive_type (pointer_declarator "*pfVar12" * identifier) ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "uint extraout_v1_00;" type_identifier identifier ;) (declaration "uint extraout_v1_01;" type_identifier identifier ;) (declaration "uint extraout_v1_02;" type_identifier identifier ;) (declaration "uint extraout_v1_03;" type_identifier identifier ;) (declaration "uint extraout_v1_04;" type_identifier identifier ;) (declaration "uint extraout_v1_05;" type_identifier identifier ;) (declaration "uint extraout_v1_06;" type_identifier identifier ;) (declaration "uint extraout_v1_07;" type_identifier identifier ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "uint extraout_v1_08;" type_identifier identifier ;) (declaration "byte extraout_v1_10;" type_identifier identifier ;) (declaration "uint extraout_v1_09;" type_identifier identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "float *pfVar27;" primitive_type (pointer_declarator "*pfVar27" * identifier) ;) (declaration "float fVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "float *pfVar31;" primitive_type (pointer_declarator "*pfVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "undefined4 uVar33;" type_identifier identifier ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "byte bVar36;" type_identifier identifier ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "float fVar38;" primitive_type identifier ;) (declaration "float fVar39;" primitive_type identifier ;) (declaration "undefined4 *puVar40;" type_identifier (pointer_declarator "*puVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "int iVar42;" primitive_type identifier ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "int iVar45;" primitive_type identifier ;) (declaration "byte *pbVar46;" type_identifier (pointer_declarator "*pbVar46" * identifier) ;) (declaration "float *pfVar47;" primitive_type (pointer_declarator "*pfVar47" * identifier) ;) (declaration "int iVar48;" primitive_type identifier ;) (declaration "int iVar49;" primitive_type identifier ;) (declaration "float fVar50;" primitive_type identifier ;) (declaration "int iVar51;" primitive_type identifier ;) (declaration "undefined *puVar52;" type_identifier (pointer_declarator "*puVar52" * identifier) ;) (declaration "code *pcVar53;" type_identifier (pointer_declarator "*pcVar53" * identifier) ;) (declaration "double dVar54;" primitive_type identifier ;) (declaration "float fVar56;" primitive_type identifier ;) (declaration "double dVar55;" primitive_type identifier ;) (declaration "double dVar57;" primitive_type identifier ;) (declaration "double dVar58;" primitive_type identifier ;) (declaration "float fVar59;" primitive_type identifier ;) (declaration "double dVar60;" primitive_type identifier ;) (declaration "double dVar61;" primitive_type identifier ;) (declaration "double dVar62;" primitive_type identifier ;) (declaration "double dVar63;" primitive_type identifier ;) (declaration "ulonglong uVar64;" type_identifier identifier ;) (declaration "double dVar65;" primitive_type identifier ;) (declaration "double dVar66;" primitive_type identifier ;) (declaration "double dVar67;" primitive_type identifier ;) (declaration "double dVar68;" primitive_type identifier ;) (declaration "double dVar69;" primitive_type identifier ;) (declaration "undefined8 uVar70;" type_identifier identifier ;) (declaration "float fStack_1ec;" primitive_type identifier ;) (declaration "uint uStack_1c8;" type_identifier identifier ;) (declaration "float fStack_1a0;" primitive_type identifier ;) (declaration "float *local_f8;" primitive_type (pointer_declarator "*local_f8" * identifier) ;) (declaration "float *local_f0;" primitive_type (pointer_declarator "*local_f0" * identifier) ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "float *local_e4;" primitive_type (pointer_declarator "*local_e4" * identifier) ;) (declaration "char local_c9;" primitive_type identifier ;) (declaration "float *local_c8;" primitive_type (pointer_declarator "*local_c8" * identifier) ;) (declaration "byte local_c4;" type_identifier identifier ;) (declaration "char local_c3;" primitive_type identifier ;) (declaration "ushort local_c2;" type_identifier identifier ;) (declaration "ushort local_c0;" type_identifier identifier ;) (declaration "byte local_be;" type_identifier identifier ;) (declaration "undefined2 local_bc;" type_identifier identifier ;) (declaration "undefined2 local_ba;" type_identifier identifier ;) (declaration "ushort local_b8;" type_identifier identifier ;) (declaration "ushort local_b6;" type_identifier identifier ;) (declaration "byte local_b4;" type_identifier identifier ;) (declaration "byte local_b3;" type_identifier identifier ;) (declaration "float *local_b0 [10];" primitive_type (pointer_declarator "*local_b0 [10]" * (array_declarator "local_b0 [10]" identifier [ number_literal ])) ;) (declaration "double local_88;" primitive_type identifier ;) (declaration "double local_80;" primitive_type identifier ;) (declaration "double local_78;" primitive_type identifier ;) (declaration "double local_68;" primitive_type identifier ;) (declaration "float *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "byte local_58;" type_identifier identifier ;) (declaration "byte local_57;" type_identifier identifier ;) (declaration "byte local_56;" type_identifier identifier ;) (declaration "byte local_55;" type_identifier identifier ;) (declaration "float *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (expression_statement "puVar52 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar52 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_54 = *(float **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(float **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(float **)PTR___stack_chk_guard_003a9230" * (cast_expression "(float **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\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    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3210) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3210) != 0" (pointer_expression "*(int *)(param_1 + 0x3210)" * (cast_expression "(int *)(param_1 + 0x3210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3210)" ( (binary_expression "param_1 + 0x3210" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" ( number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" if (parenthesized_expression "(param_2 == (float *)0x0)" ( (binary_expression "param_2 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" if (parenthesized_expression "(param_2[7] != -1.2269538e-12)" ( (binary_expression "param_2[7] != -1.2269538e-12" (subscript_expression "param_2[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" identifier = (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" ( (binary_expression "PTR_LAB_003a88e0 + 0x294c" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) , number_literal , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (expression_statement "pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);" (assignment_expression "pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" identifier = (cast_expression "(float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" ( (pointer_expression "*(code *)PTR_AcquireImage_003a960c" * (cast_expression "(code *)PTR_AcquireImage_003a960c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "pfVar31 = (float *)0x2;" (assignment_expression "pfVar31 = (float *)0x2" identifier = (cast_expression "(float *)0x2" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar27 = pfVar5;" (assignment_expression "pfVar27 = pfVar5" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2)" identifier = (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" ( (pointer_expression "*(code *)PTR_OpenBlob_003a924c" * (cast_expression "(code *)PTR_OpenBlob_003a924c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,pfVar5,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }" { (expression_statement "pfVar47 = (float *)0x0;" (assignment_expression "pfVar47 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))) ;) (goto_statement "goto LAB_002b6964;" goto statement_identifier ;) })) (expression_statement "iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);" (assignment_expression "iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,1,&local_c4)" ( identifier , number_literal , (pointer_expression "&local_c4" & identifier) )))) ;) (expression_statement "local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) (if_statement "if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) (compound_statement "{\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }" { (if_statement "if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" if (parenthesized_expression "((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3)" ( (binary_expression "(undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3" (cast_expression "(undefined1 *)((int)local_c8 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + -1)" ( (binary_expression "(int)local_c8 + -1" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }" { (if_statement "if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }" if (parenthesized_expression "(local_c8 == (float *)0x1)" ( (binary_expression "local_c8 == (float *)0x1" identifier == (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }" { (labeled_statement "LAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;" statement_identifier : (if_statement "if (local_c3 == '\0') goto LAB_002b68ec;" if (parenthesized_expression "(local_c3 == '\0')" ( (binary_expression "local_c3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002b68ec;" goto statement_identifier ;))) })) }) (else_clause "else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" else (compound_statement "{\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" { (if_statement "if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;" if (parenthesized_expression "(local_c8 == (float *)&DAT_00000009)" ( (binary_expression "local_c8 == (float *)&DAT_00000009" identifier == (cast_expression "(float *)&DAT_00000009" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) )) (goto_statement "goto LAB_002b69c0;" goto statement_identifier ;)) (if_statement "if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;" if (parenthesized_expression "((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10))" ( (binary_expression "(undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)" (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)local_c8 + -10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + -10)" ( (binary_expression "(int)local_c8 + -10" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (goto_statement "goto LAB_002b68ec;" goto statement_identifier ;)) }))) (expression_statement "local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" ( (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" * (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" { (expression_statement "uVar33 = 0xe8;" (assignment_expression "uVar33 = 0xe8" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier + number_literal)) ;) (goto_statement "goto LAB_002b6920;" goto statement_identifier ;) })) (expression_statement "pfVar27 = (float *)(uint)local_b4;" (assignment_expression "pfVar27 = (float *)(uint)local_b4" identifier = (cast_expression "(float *)(uint)local_b4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }" if (parenthesized_expression "((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)))" ( (binary_expression "(0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < ((uint)((int)pfVar27 + -2) & 0xff))" ( (binary_expression "0x1e < ((uint)((int)pfVar27 + -2) & 0xff)" number_literal < (parenthesized_expression "((uint)((int)pfVar27 + -2) & 0xff)" ( (binary_expression "(uint)((int)pfVar27 + -2) & 0xff" (call_expression "(uint)((int)pfVar27 + -2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pfVar27 + -2)" ( (binary_expression "(int)pfVar27 + -2" (cast_expression "(int)pfVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) & number_literal) ))) )) || (parenthesized_expression "(-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))" ( (binary_expression "-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" number_literal < (cast_expression "(int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" ( (binary_expression "(0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f" (parenthesized_expression "(0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f))" ( (binary_expression "0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)" number_literal >> (parenthesized_expression "((uint)((int)pfVar27 + -2) & 0x1f)" ( (binary_expression "(uint)((int)pfVar27 + -2) & 0x1f" (call_expression "(uint)((int)pfVar27 + -2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pfVar27 + -2)" ( (binary_expression "(int)pfVar27 + -2" (cast_expression "(int)pfVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) & number_literal) ))) )) << number_literal) )))) ))) )) (compound_statement "{\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }" { (expression_statement "uVar33 = 0xeb;" (assignment_expression "uVar33 = 0xeb" identifier = number_literal) ;) (goto_statement "goto LAB_002b68f4;" goto statement_identifier ;) })) (expression_statement "pfVar5[6] = (float)(uint)local_b8;" (assignment_expression "pfVar5[6] = (float)(uint)local_b8" (subscript_expression "pfVar5[6]" identifier [ number_literal ]) = (cast_expression "(float)(uint)local_b8" ( (type_descriptor "float" primitive_type) ) (cast_expression "(uint)local_b8" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar5[7] = (float)(uint)local_b6;" (assignment_expression "pfVar5[7] = (float)(uint)local_b6" (subscript_expression "pfVar5[7]" identifier [ number_literal ]) = (cast_expression "(float)(uint)local_b6" ( (type_descriptor "float" primitive_type) ) (cast_expression "(uint)local_b6" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" if (parenthesized_expression "((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb))" ( (binary_expression "(local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)" (parenthesized_expression "(local_c8 == (float *)0x3)" ( (binary_expression "local_c8 == (float *)0x3" identifier == (cast_expression "(float *)0x3" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_c8 == (float *)0xb)" ( (binary_expression "local_c8 == (float *)0xb" identifier == (cast_expression "(float *)0xb" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }" { (labeled_statement "LAB_002b6bac:\n      fVar8 = 7.00649e-45;" statement_identifier : (expression_statement "fVar8 = 7.00649e-45;" (assignment_expression "fVar8 = 7.00649e-45" identifier = number_literal) ;)) (if_statement "if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }" if (parenthesized_expression "((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9))" ( (binary_expression "(undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)" (cast_expression "(undefined1 *)0x7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)pfVar27 + -9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27 + -9)" ( (binary_expression "(int)pfVar27 + -9" (cast_expression "(int)pfVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) (compound_statement "{\n        fVar8 = 1.12104e-44;\n      }" { (expression_statement "fVar8 = 1.12104e-44;" (assignment_expression "fVar8 = 1.12104e-44" identifier = number_literal) ;) })) (expression_statement "pfVar5[8] = fVar8;" (assignment_expression "pfVar5[8] = fVar8" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" else (compound_statement "{\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" { (if_statement "if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }" if (parenthesized_expression "(((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20))" ( (binary_expression "((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)" (parenthesized_expression "((local_b3 & 0xf) == 0)" ( (binary_expression "(local_b3 & 0xf) == 0" (parenthesized_expression "(local_b3 & 0xf)" ( (binary_expression "local_b3 & 0xf" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pfVar27 != (float *)0x20)" ( (binary_expression "pfVar27 != (float *)0x20" identifier != (cast_expression "(float *)0x20" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }" { (expression_statement "fVar8 = 5.60519e-45;" (assignment_expression "fVar8 = 5.60519e-45" identifier = number_literal) ;) (if_statement "if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }" if (parenthesized_expression "(local_be != 0x20)" ( (binary_expression "local_be != 0x20" identifier != number_literal) )) (compound_statement "{\n          fVar8 = 0.0;\n        }" { (expression_statement "fVar8 = 0.0;" (assignment_expression "fVar8 = 0.0" identifier = number_literal) ;) })) }) (else_clause "else {\n        fVar8 = 5.60519e-45;\n      }" else (compound_statement "{\n        fVar8 = 5.60519e-45;\n      }" { (expression_statement "fVar8 = 5.60519e-45;" (assignment_expression "fVar8 = 5.60519e-45" identifier = number_literal) ;) }))) (expression_statement "pfVar5[0xaf] = fVar8;" (assignment_expression "pfVar5[0xaf] = fVar8" (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" if (parenthesized_expression "(local_c8 == (float *)0x1)" ( (binary_expression "local_c8 == (float *)0x1" identifier == (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }" { (if_statement "if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }" if (parenthesized_expression "((8 < local_be) && (local_be < 0x11))" ( (binary_expression "(8 < local_be) && (local_be < 0x11)" (parenthesized_expression "(8 < local_be)" ( (binary_expression "8 < local_be" number_literal < identifier) )) && (parenthesized_expression "(local_be < 0x11)" ( (binary_expression "local_be < 0x11" identifier < number_literal) ))) )) (compound_statement "{\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }" { (expression_statement "pfVar5[8] = 7.00649e-45;" (assignment_expression "pfVar5[8] = 7.00649e-45" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*pfVar5 = 2.8026e-45;" (assignment_expression "*pfVar5 = 2.8026e-45" (pointer_expression "*pfVar5" * identifier) = number_literal) ;) (goto_statement "goto LAB_002b6bc4;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;" statement_identifier : (expression_statement "pfVar5[8] = 1.12104e-44;" (assignment_expression "pfVar5[8] = 1.12104e-44" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;)) }) (else_clause "else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" else (compound_statement "{\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" { (if_statement "if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;" if (parenthesized_expression "(local_c8 != (float *)&DAT_00000009)" ( (binary_expression "local_c8 != (float *)&DAT_00000009" identifier != (cast_expression "(float *)&DAT_00000009" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) )) (goto_statement "goto LAB_002b6bac;" goto statement_identifier ;)) (if_statement "if (local_be < 9) goto LAB_002b6b10;" if (parenthesized_expression "(local_be < 9)" ( (binary_expression "local_be < 9" identifier < number_literal) )) (goto_statement "goto LAB_002b6b10;" goto statement_identifier ;)) (if_statement "if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }" if (parenthesized_expression "(local_be < 0x11)" ( (binary_expression "local_be < 0x11" identifier < number_literal) )) (compound_statement "{\n          pfVar5[8] = 7.00649e-45;\n        }" { (expression_statement "pfVar5[8] = 7.00649e-45;" (assignment_expression "pfVar5[8] = 7.00649e-45" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pfVar5[8] = 1.12104e-44;\n        }" else (compound_statement "{\n          pfVar5[8] = 1.12104e-44;\n        }" { (expression_statement "pfVar5[8] = 1.12104e-44;" (assignment_expression "pfVar5[8] = 1.12104e-44" (subscript_expression "pfVar5[8]" identifier [ number_literal ]) = number_literal) ;) }))) }))) (expression_statement "*pfVar5 = 2.8026e-45;" (assignment_expression "*pfVar5 = 2.8026e-45" (pointer_expression "*pfVar5" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" statement_identifier : (if_statement "if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" if (parenthesized_expression "(((uint)local_c8 & 0xfffffff7) == 3)" ( (binary_expression "((uint)local_c8 & 0xfffffff7) == 3" (parenthesized_expression "((uint)local_c8 & 0xfffffff7)" ( (binary_expression "(uint)local_c8 & 0xfffffff7" (cast_expression "(uint)local_c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }" { (expression_statement "pfVar5[0xa8] = 2.8026e-45;" (assignment_expression "pfVar5[0xa8] = 2.8026e-45" (subscript_expression "pfVar5[0xa8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pfVar5[2] = 2.24208e-44;" (assignment_expression "pfVar5[2] = 2.24208e-44" (subscript_expression "pfVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pfVar5[1] = 4.2039e-45;" (assignment_expression "pfVar5[1] = 4.2039e-45" (subscript_expression "pfVar5[1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;" if (parenthesized_expression "(((uint)local_c8 & 0xfffffffd) != 9)" ( (binary_expression "((uint)local_c8 & 0xfffffffd) != 9" (parenthesized_expression "((uint)local_c8 & 0xfffffffd)" ( (binary_expression "(uint)local_c8 & 0xfffffffd" (cast_expression "(uint)local_c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002b6be8;" goto statement_identifier ;)) (labeled_statement "LAB_002b7100:\n      pfVar5[2] = 2.66247e-44;" statement_identifier : (expression_statement "pfVar5[2] = 2.66247e-44;" (assignment_expression "pfVar5[2] = 2.66247e-44" (subscript_expression "pfVar5[2]" identifier [ number_literal ]) = number_literal) ;)) }) (else_clause "else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" else (compound_statement "{\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" { (expression_statement "pfVar5[2] = 2.24208e-44;" (assignment_expression "pfVar5[2] = 2.24208e-44" (subscript_expression "pfVar5[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;" if (parenthesized_expression "(local_c8 == (float *)&DAT_00000009)" ( (binary_expression "local_c8 == (float *)&DAT_00000009" identifier == (cast_expression "(float *)&DAT_00000009" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) )) (goto_statement "goto LAB_002b7100;" goto statement_identifier ;)) (labeled_statement "LAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;" statement_identifier : (if_statement "if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;" if (parenthesized_expression "(local_c8 == (float *)&DAT_0000000a)" ( (binary_expression "local_c8 == (float *)&DAT_0000000a" identifier == (cast_expression "(float *)&DAT_0000000a" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000a" & identifier))) )) (goto_statement "goto LAB_002b7100;" goto statement_identifier ;))) })))) (expression_statement "puVar7 = PTR_GetBlobSize_003a94b8;" (assignment_expression "puVar7 = PTR_GetBlobSize_003a94b8" identifier = identifier) ;) (expression_statement "pfVar31 = local_c8;" (assignment_expression "pfVar31 = local_c8" identifier = identifier) ;) (if_statement "if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }" if (parenthesized_expression "(*pfVar5 == 2.8026e-45)" ( (binary_expression "*pfVar5 == 2.8026e-45" (pointer_expression "*pfVar5" * identifier) == number_literal) )) (compound_statement "{\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }" { (if_statement "if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }" if (parenthesized_expression "(local_c3 != '\0')" ( (binary_expression "local_c3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }" { (expression_statement "pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);" (assignment_expression "pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0)" (subscript_expression "pfVar5[9]" identifier [ number_literal ]) = (cast_expression "(float)((uint)local_c2 + (uint)local_c0)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((uint)local_c2 + (uint)local_c0)" ( (binary_expression "(uint)local_c2 + (uint)local_c0" (cast_expression "(uint)local_c2" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(uint)local_c0" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (goto_statement "goto LAB_002b6c00;" goto statement_identifier ;) })) (expression_statement "fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));" (assignment_expression "fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f))" identifier = (cast_expression "(float)(1 << ((uint)pfVar27 & 0x1f))" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(1 << ((uint)pfVar27 & 0x1f))" ( (binary_expression "1 << ((uint)pfVar27 & 0x1f)" number_literal << (parenthesized_expression "((uint)pfVar27 & 0x1f)" ( (binary_expression "(uint)pfVar27 & 0x1f" (cast_expression "(uint)pfVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )))) ;) (expression_statement "pfVar5[9] = fVar8;" (assignment_expression "pfVar5[9] = fVar8" (subscript_expression "pfVar5[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar70 = (*(code *)puVar7)(pfVar5);" (assignment_expression "uVar70 = (*(code *)puVar7)(pfVar5)" identifier = (call_expression "(*(code *)puVar7)(pfVar5)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }" if (parenthesized_expression "(((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70))" ( (binary_expression "((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)" (parenthesized_expression "((int)((ulonglong)uVar70 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar70 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar70 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar70 >> 0x20)" ( (binary_expression "(ulonglong)uVar70 >> 0x20" (cast_expression "(ulonglong)uVar70" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "((uint)fVar8 <= (uint)(float)uVar70)" ( (binary_expression "(uint)fVar8 <= (uint)(float)uVar70" (cast_expression "(uint)fVar8" ( (type_descriptor "uint" type_identifier) ) identifier) <= (cast_expression "(uint)(float)uVar70" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)uVar70" ( (type_descriptor "float" primitive_type) ) identifier))) ))) )) (compound_statement "{\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }" { (expression_statement "pfVar27 = (float *)pfVar5[9];" (assignment_expression "pfVar27 = (float *)pfVar5[9]" identifier = (cast_expression "(float *)pfVar5[9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) ;) (expression_statement "pfVar31 = param_2;" (assignment_expression "pfVar31 = param_2" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5)" identifier = (call_expression "(*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5)" (parenthesized_expression "(*(code *)PTR_AcquireImageColormap_003a9194)" ( (pointer_expression "*(code *)PTR_AcquireImageColormap_003a9194" * (cast_expression "(code *)PTR_AcquireImageColormap_003a9194" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_002b6c00;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002b6c00;" goto statement_identifier ;)) (expression_statement "uVar33 = 0x11c;" (assignment_expression "uVar33 = 0x11c" identifier = number_literal) ;) (goto_statement "goto LAB_002b7224;" goto statement_identifier ;) })) (expression_statement "uVar33 = 0x11a;" (assignment_expression "uVar33 = 0x11a" identifier = number_literal) ;) (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_s_courses_003a88ec + 0x4a0;" (assignment_expression "puVar14 = PTR_s_courses_003a88ec + 0x4a0" identifier = (binary_expression "PTR_s_courses_003a88ec + 0x4a0" identifier + number_literal)) ;) (expression_statement "uVar15 = 0x1a9;" (assignment_expression "uVar15 = 0x1a9" identifier = number_literal) ;) (labeled_statement "LAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);" statement_identifier : (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_002b6944;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;" statement_identifier : (expression_statement "pfVar47 = (float *)(uint)local_c4;" (assignment_expression "pfVar47 = (float *)(uint)local_c4" identifier = (cast_expression "(float *)(uint)local_c4" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_c4" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (if_statement "if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }" if (parenthesized_expression "(pfVar47 != (float *)0x0)" ( (binary_expression "pfVar47 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }" { (expression_statement "pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);" (assignment_expression "pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" identifier = (cast_expression "(float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" ( (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" * (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar47 + 0x400,1)" ( (binary_expression "pfVar47 + 0x400" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }" if (parenthesized_expression "(pfVar12 != (float *)0x0)" ( (binary_expression "pfVar12 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }" { (expression_statement "pfVar27 = pfVar47;" (assignment_expression "pfVar27 = pfVar47" identifier = identifier) ;) (expression_statement "pfVar31 = pfVar12;" (assignment_expression "pfVar31 = pfVar12" identifier = identifier) ;) (expression_statement "pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);" (assignment_expression "pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) (expression_statement "puVar7 = PTR_SetImageProperty_003a9534;" (assignment_expression "puVar7 = PTR_SetImageProperty_003a9534" identifier = identifier) ;) (if_statement "if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }" if (parenthesized_expression "(pfVar47 == pfVar13)" ( (binary_expression "pfVar47 == pfVar13" identifier == identifier) )) (compound_statement "{\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }" { (expression_statement "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" identifier = (cast_expression "(float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;" (assignment_expression "*(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0" (pointer_expression "*(undefined1 *)((int)pfVar12 + (int)pfVar47)" * (cast_expression "(undefined1 *)((int)pfVar12 + (int)pfVar47)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar12 + (int)pfVar47)" ( (binary_expression "(int)pfVar12 + (int)pfVar47" (cast_expression "(int)pfVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pfVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "pfVar31 = pfVar12;" (assignment_expression "pfVar31 = pfVar12" identifier = identifier) ;) (expression_statement "(*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);" (call_expression "(*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,pfVar27,pfVar12,param_2)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(pfVar12);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(pfVar12)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar12)" ( identifier ))) ;) (goto_statement "goto LAB_002b6c0c;" goto statement_identifier ;) })) (expression_statement "uVar33 = 0x130;" (assignment_expression "uVar33 = 0x130" identifier = number_literal) ;) (labeled_statement "LAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;" statement_identifier : (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;)) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_LAB_003a88e0 + 0x16f8;" (assignment_expression "puVar14 = PTR_LAB_003a88e0 + 0x16f8" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal)) ;) (expression_statement "uVar15 = 400;" (assignment_expression "uVar15 = 400" identifier = number_literal) ;) (goto_statement "goto LAB_002b725c;" goto statement_identifier ;) })) (labeled_statement "LAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;" statement_identifier : (expression_statement "pfVar5[4] = 5.60519e-45;" (assignment_expression "pfVar5[4] = 5.60519e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;)) (if_statement "if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" if (parenthesized_expression "((local_b3 & 0x10) == 0)" ( (binary_expression "(local_b3 & 0x10) == 0" (parenthesized_expression "(local_b3 & 0x10)" ( (binary_expression "local_b3 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }" { (if_statement "if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }" if (parenthesized_expression "((local_b3 & 0x20) != 0)" ( (binary_expression "(local_b3 & 0x20) != 0" (parenthesized_expression "(local_b3 & 0x20)" ( (binary_expression "local_b3 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        pfVar5[4] = 1.4013e-45;\n      }" { (expression_statement "pfVar5[4] = 1.4013e-45;" (assignment_expression "pfVar5[4] = 1.4013e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" else (if_statement "if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" if (parenthesized_expression "((local_b3 & 0x20) == 0)" ( (binary_expression "(local_b3 & 0x20) == 0" (parenthesized_expression "(local_b3 & 0x20)" ( (binary_expression "local_b3 & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      pfVar5[4] = 4.2039e-45;\n    }" { (expression_statement "pfVar5[4] = 4.2039e-45;" (assignment_expression "pfVar5[4] = 4.2039e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      pfVar5[4] = 2.8026e-45;\n    }" else (compound_statement "{\n      pfVar5[4] = 2.8026e-45;\n    }" { (expression_statement "pfVar5[4] = 2.8026e-45;" (assignment_expression "pfVar5[4] = 2.8026e-45" (subscript_expression "pfVar5[4]" identifier [ number_literal ]) = number_literal) ;) }))))) (if_statement "if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1dc) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1dc) == 0" (pointer_expression "*(int *)(param_1 + 0x1dc)" * (cast_expression "(int *)(param_1 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1dc)" ( (binary_expression "param_1 + 0x1dc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }" { (expression_statement "pfVar31 = (float *)pfVar5[7];" (assignment_expression "pfVar31 = (float *)pfVar5[7]" identifier = (cast_expression "(float *)pfVar5[7]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[7]" identifier [ number_literal ]))) ;) (expression_statement "pfVar27 = (float *)pfVar5[6];" (assignment_expression "pfVar27 = (float *)pfVar5[6]" identifier = (cast_expression "(float *)pfVar5[6]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[6]" identifier [ number_literal ]))) ;) (expression_statement "iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2)" identifier = (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" ( (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" * (cast_expression "(code *)PTR_SetImageExtent_003a94ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,pfVar27,pfVar31,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "puVar7 = PTR_LAB_003a88e0;" (assignment_expression "puVar7 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }" { (expression_statement "pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (assignment_expression "pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) }) (else_clause "else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" else (compound_statement "{\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" { (expression_statement "pfVar31 = (float *)0x58;" (assignment_expression "pfVar31 = (float *)0x58" identifier = (cast_expression "(float *)0x58" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar27 = (float *)0x0;" (assignment_expression "pfVar27 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(local_b0);" (call_expression "(*(code *)PTR_memset_003a96d4)(local_b0)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_b0)" ( identifier ))) ;) (expression_statement "puVar14 = PTR_AcquireImageColormap_003a9194;" (assignment_expression "puVar14 = PTR_AcquireImageColormap_003a9194" identifier = identifier) ;) (expression_statement "local_68 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "local_68 = *(double *)(puVar7 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar7 + 0x1a58)" * (cast_expression "(double *)(puVar7 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1a58)" ( (binary_expression "puVar7 + 0x1a58" identifier + number_literal) ))))) ;) (if_statement "if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }" if (parenthesized_expression "(local_c3 != '\0')" ( (binary_expression "local_c3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }" { (expression_statement "pfVar31 = (float *)(uint)local_c2;" (assignment_expression "pfVar31 = (float *)(uint)local_c2" identifier = (cast_expression "(float *)(uint)local_c2" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)local_c2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar27 = (float *)pfVar5[9];" (assignment_expression "pfVar27 = (float *)pfVar5[9]" identifier = (cast_expression "(float *)pfVar5[9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) ;) (if_statement "if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }" if (parenthesized_expression "((float *)pfVar5[9] < pfVar31)" ( (binary_expression "(float *)pfVar5[9] < pfVar31" (cast_expression "(float *)pfVar5[9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }" { (expression_statement "pfVar5[9] = (float)pfVar31;" (assignment_expression "pfVar5[9] = (float)pfVar31" (subscript_expression "pfVar5[9]" identifier [ number_literal ]) = (cast_expression "(float)pfVar31" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) })) (expression_statement "pfVar31 = param_2;" (assignment_expression "pfVar31 = param_2" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)puVar14)(pfVar5);" (assignment_expression "iVar6 = (*(code *)puVar14)(pfVar5)" identifier = (call_expression "(*(code *)puVar14)(pfVar5)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }" { (expression_statement "uVar33 = 0x15a;" (assignment_expression "uVar33 = 0x15a" identifier = number_literal) ;) (goto_statement "goto LAB_002b7224;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_c2;" (assignment_expression "uVar17 = (uint)local_c2" identifier = (cast_expression "(uint)local_c2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }" { (expression_statement "puVar25 = (undefined4 *)pfVar5[10];" (assignment_expression "puVar25 = (undefined4 *)pfVar5[10]" identifier = (cast_expression "(undefined4 *)pfVar5[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[10]" identifier [ number_literal ]))) ;) (expression_statement "puVar40 = puVar25 + uVar17 * 0x16;" (assignment_expression "puVar40 = puVar25 + uVar17 * 0x16" identifier = (binary_expression "puVar25 + uVar17 * 0x16" identifier + (binary_expression "uVar17 * 0x16" identifier * number_literal))) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (expression_statement "puVar16 = puVar25;" (assignment_expression "puVar16 = puVar25" identifier = identifier) ;) (do_statement "do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);" do (compound_statement "{\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            }" { (do_statement "do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);" do (compound_statement "{\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              }" { (expression_statement "puVar22 = puVar16;" (assignment_expression "puVar22 = puVar16" identifier = identifier) ;) (expression_statement "ppfVar10 = ppfVar9 + 4;" (assignment_expression "ppfVar10 = ppfVar9 + 4" identifier = (binary_expression "ppfVar9 + 4" identifier + number_literal)) ;) (expression_statement "pfVar47 = ppfVar9[1];" (assignment_expression "pfVar47 = ppfVar9[1]" identifier = (subscript_expression "ppfVar9[1]" identifier [ number_literal ])) ;) (expression_statement "pfVar31 = ppfVar9[2];" (assignment_expression "pfVar31 = ppfVar9[2]" identifier = (subscript_expression "ppfVar9[2]" identifier [ number_literal ])) ;) (expression_statement "pfVar27 = ppfVar9[3];" (assignment_expression "pfVar27 = ppfVar9[3]" identifier = (subscript_expression "ppfVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar22 = *ppfVar9;" (assignment_expression "*puVar22 = *ppfVar9" (pointer_expression "*puVar22" * identifier) = (pointer_expression "*ppfVar9" * identifier)) ;) (expression_statement "puVar22[1] = pfVar47;" (assignment_expression "puVar22[1] = pfVar47" (subscript_expression "puVar22[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[2] = pfVar31;" (assignment_expression "puVar22[2] = pfVar31" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[3] = pfVar27;" (assignment_expression "puVar22[3] = pfVar27" (subscript_expression "puVar22[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar9 = ppfVar10;" (assignment_expression "ppfVar9 = ppfVar10" identifier = identifier) ;) (expression_statement "puVar16 = puVar22 + 4;" (assignment_expression "puVar16 = puVar22 + 4" identifier = (binary_expression "puVar22 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppfVar10 != &local_60)" ( (binary_expression "ppfVar10 != &local_60" identifier != (pointer_expression "&local_60" & identifier)) )) ;) (expression_statement "puVar25 = puVar25 + 0x16;" (assignment_expression "puVar25 = puVar25 + 0x16" identifier = (binary_expression "puVar25 + 0x16" identifier + number_literal)) ;) (expression_statement "puVar22[4] = local_60;" (assignment_expression "puVar22[4] = local_60" (subscript_expression "puVar22[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar22[5] = local_5c;" (assignment_expression "puVar22[5] = local_5c" (subscript_expression "puVar22[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (expression_statement "puVar16 = puVar25;" (assignment_expression "puVar16 = puVar25" identifier = identifier) ;) (expression_statement "pfVar27 = local_60;" (assignment_expression "pfVar27 = local_60" identifier = identifier) ;) }) while (parenthesized_expression "(puVar40 != puVar25)" ( (binary_expression "puVar40 != puVar25" identifier != identifier) )) ;) })) (if_statement "if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }" if (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" ( (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) (compound_statement "{\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }" { (expression_statement "iVar6 = uVar17 * 0x58;" (assignment_expression "iVar6 = uVar17 * 0x58" identifier = (binary_expression "uVar17 * 0x58" identifier * number_literal)) ;) (expression_statement "dVar65 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "dVar65 = *(double *)(puVar7 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar7 + 0x1a58)" * (cast_expression "(double *)(puVar7 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1a58)" ( (binary_expression "puVar7 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" identifier = (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" * (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "dVar67 = dVar60;" (assignment_expression "dVar67 = dVar60" identifier = identifier) ;) (expression_statement "dVar69 = dVar60;" (assignment_expression "dVar69 = dVar60" identifier = identifier) ;) (do_statement "do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);" do (compound_statement "{\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            }" { (expression_statement "uVar26 = (uint)local_be;" (assignment_expression "uVar26 = (uint)local_be" identifier = (cast_expression "(uint)local_be" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" if (parenthesized_expression "(uVar26 == 0x18)" ( (binary_expression "uVar26 == 0x18" identifier == number_literal) )) (compound_statement "{\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }" { (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_78 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_78 = (double)(float)((double)bVar36 * dVar60)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar60)" ( (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_80 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_80 = (double)(float)((double)bVar36 * dVar60)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar60)" ( (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar60)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar60)" ( (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) }) (else_clause "else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" else (if_statement "if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" if (parenthesized_expression "(uVar26 < 0x19)" ( (binary_expression "uVar26 < 0x19" identifier < number_literal) )) (compound_statement "{\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }" { (if_statement "if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" if (parenthesized_expression "(uVar26 - 0xf < 2)" ( (binary_expression "uVar26 - 0xf < 2" (binary_expression "uVar26 - 0xf" identifier - number_literal) < number_literal) )) (compound_statement "{\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }" { (expression_statement "uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);" (assignment_expression "local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" identifier = (cast_expression "(double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" ( (binary_expression "(double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65" (binary_expression "(double)((uVar18 << 0x19) >> 0x1b) * dVar62" (cast_expression "(double)((uVar18 << 0x19) >> 0x1b)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar18 << 0x19) >> 0x1b)" ( (binary_expression "(uVar18 << 0x19) >> 0x1b" (parenthesized_expression "(uVar18 << 0x19)" ( (binary_expression "uVar18 << 0x19" identifier << number_literal) )) >> number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);" (assignment_expression "local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" identifier = (cast_expression "(double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(uVar26 & 0x1f) * dVar62 * dVar65)" ( (binary_expression "(double)(uVar26 & 0x1f) * dVar62 * dVar65" (binary_expression "(double)(uVar26 & 0x1f) * dVar62" (cast_expression "(double)(uVar26 & 0x1f)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);" (assignment_expression "local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" identifier = (cast_expression "(double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" ( (binary_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65" (binary_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62" (cast_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5))" ( (binary_expression "(uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)" (binary_expression "(uVar18 & 3) * 8" (parenthesized_expression "(uVar18 & 3)" ( (binary_expression "uVar18 & 3" identifier & number_literal) )) * number_literal) + (parenthesized_expression "((uVar26 & 0xff) >> 5)" ( (binary_expression "(uVar26 & 0xff) >> 5" (parenthesized_expression "(uVar26 & 0xff)" ( (binary_expression "uVar26 & 0xff" identifier & number_literal) )) >> number_literal) ))) ))) * identifier) * identifier) ))))) ;) }) (else_clause "else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" else (compound_statement "{\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" { (labeled_statement "LAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" statement_identifier : (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;)) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar69);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar69)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar69)" ( (binary_expression "(double)bVar36 * dVar69" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_80 = local_88;" (assignment_expression "local_80 = local_88" identifier = identifier) ;) (expression_statement "local_78 = local_88;" (assignment_expression "local_78 = local_88" identifier = identifier) ;) }))) }) (else_clause "else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" else (compound_statement "{\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" { (if_statement "if (uVar26 != 0x20) goto LAB_002b7684;" if (parenthesized_expression "(uVar26 != 0x20)" ( (binary_expression "uVar26 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_002b7684;" goto statement_identifier ;)) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_78 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_78 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_80 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_80 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" identifier = (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" ( (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" * (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (expression_statement "local_68 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_68 = (double)(float)((double)bVar36 * dVar67)" identifier = (cast_expression "(double)(float)((double)bVar36 * dVar67)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)bVar36 * dVar67)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)bVar36 * dVar67)" ( (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) }))))) (expression_statement "puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);" (assignment_expression "puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6)" identifier = (cast_expression "(undefined4 *)((int)pfVar5[10] + iVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar5[10] + iVar6)" ( (binary_expression "(int)pfVar5[10] + iVar6" (cast_expression "(int)pfVar5[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[10]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (do_statement "do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);" do (compound_statement "{\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              }" { (expression_statement "puVar25 = puVar16;" (assignment_expression "puVar25 = puVar16" identifier = identifier) ;) (expression_statement "ppfVar10 = ppfVar9 + 4;" (assignment_expression "ppfVar10 = ppfVar9 + 4" identifier = (binary_expression "ppfVar9 + 4" identifier + number_literal)) ;) (expression_statement "pfVar31 = ppfVar9[1];" (assignment_expression "pfVar31 = ppfVar9[1]" identifier = (subscript_expression "ppfVar9[1]" identifier [ number_literal ])) ;) (expression_statement "pfVar27 = ppfVar9[2];" (assignment_expression "pfVar27 = ppfVar9[2]" identifier = (subscript_expression "ppfVar9[2]" identifier [ number_literal ])) ;) (expression_statement "pfVar47 = ppfVar9[3];" (assignment_expression "pfVar47 = ppfVar9[3]" identifier = (subscript_expression "ppfVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar25 = *ppfVar9;" (assignment_expression "*puVar25 = *ppfVar9" (pointer_expression "*puVar25" * identifier) = (pointer_expression "*ppfVar9" * identifier)) ;) (expression_statement "puVar25[1] = pfVar31;" (assignment_expression "puVar25[1] = pfVar31" (subscript_expression "puVar25[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[2] = pfVar27;" (assignment_expression "puVar25[2] = pfVar27" (subscript_expression "puVar25[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[3] = pfVar47;" (assignment_expression "puVar25[3] = pfVar47" (subscript_expression "puVar25[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar16 = puVar25 + 4;" (assignment_expression "puVar16 = puVar25 + 4" identifier = (binary_expression "puVar25 + 4" identifier + number_literal)) ;) (expression_statement "ppfVar9 = ppfVar10;" (assignment_expression "ppfVar9 = ppfVar10" identifier = identifier) ;) }) while (parenthesized_expression "(ppfVar10 != &local_60)" ( (binary_expression "ppfVar10 != &local_60" identifier != (pointer_expression "&local_60" & identifier)) )) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar25[4] = local_60;" (assignment_expression "puVar25[4] = local_60" (subscript_expression "puVar25[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[5] = local_5c;" (assignment_expression "puVar25[5] = local_5c" (subscript_expression "puVar25[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar6 = iVar6 + 0x58;" (assignment_expression "iVar6 = iVar6 + 0x58" identifier = (binary_expression "iVar6 + 0x58" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" ( (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) ;) })) })) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" identifier = identifier) ;) (expression_statement "local_c9 = '\0';" (assignment_expression "local_c9 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }" if (parenthesized_expression "(0 < (int)pfVar5[7])" ( (binary_expression "0 < (int)pfVar5[7]" number_literal < (cast_expression "(int)pfVar5[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[7]" identifier [ number_literal ]))) )) (compound_statement "{\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }" { (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_f0 = (float *)0x0;" (assignment_expression "local_f0 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" identifier = number_literal) ;) (expression_statement "dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" identifier = (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "local_f8 = (float *)0x0;" (assignment_expression "local_f8 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e4 = (float *)0x0;" (assignment_expression "local_e4 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" identifier = (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" * (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (do_statement "do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);" do (compound_statement "{\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          }" { (expression_statement "pfVar27 = (float *)0x0;" (assignment_expression "pfVar27 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar31 = local_f8;" (assignment_expression "pfVar31 = local_f8" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2)" identifier = (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" ( (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" * (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,0,local_f8,pfVar5[6],1,param_2)" ( identifier , number_literal , identifier , (subscript_expression "pfVar5[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4" identifier = identifier) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (if_statement "if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }" if (parenthesized_expression "(0 < (int)fVar8)" ( (binary_expression "0 < (int)fVar8" number_literal < (cast_expression "(int)fVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }" { (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (expression_statement "dVar60 = *(double *)(puVar14 + -0x5af0);" (assignment_expression "dVar60 = *(double *)(puVar14 + -0x5af0)" identifier = (pointer_expression "*(double *)(puVar14 + -0x5af0)" * (cast_expression "(double *)(puVar14 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x5af0)" ( (binary_expression "puVar14 + -0x5af0" identifier + number_literal) ))))) ;) (do_statement "do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);" do (compound_statement "{\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              }" { (expression_statement "cVar4 = local_c9;" (assignment_expression "cVar4 = local_c9" identifier = identifier) ;) (if_statement "if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }" if (parenthesized_expression "(((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0'))" ( (binary_expression "((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')" (parenthesized_expression "((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3)" ( (binary_expression "(undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3" (cast_expression "(undefined1 *)((int)local_c8 + -9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c8 + -9)" ( (binary_expression "(int)local_c8 + -9" (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < (cast_expression "(undefined1 *)0x3" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')" ( (comma_expression "cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0'" (assignment_expression "cVar4 = local_c9 + -1" identifier = (binary_expression "local_c9 + -1" identifier + number_literal)) , (comma_expression "bVar1 = bVar2, local_c9 == '\0'" (assignment_expression "bVar1 = bVar2" identifier = identifier) , (binary_expression "local_c9 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }" { (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,1,&local_c9)" ( identifier , number_literal , (pointer_expression "&local_c9" & identifier) )))) ;) (if_statement "if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" if (parenthesized_expression "(iVar23 == 1)" ( (binary_expression "iVar23 == 1" identifier == number_literal) )) (compound_statement "{\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" { (if_statement "if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }" if (parenthesized_expression "(local_c9 < '\0')" ( (binary_expression "local_c9 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "local_c9 = local_c9 + -0x80;" (assignment_expression "local_c9 = local_c9 + -0x80" identifier = (binary_expression "local_c9 + -0x80" identifier + number_literal)) ;) }) (else_clause "else {\n                      bVar2 = false;\n                    }" else (compound_statement "{\n                      bVar2 = false;\n                    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }))) (goto_statement "goto LAB_002b6fd4;" goto statement_identifier ;) })) (expression_statement "uVar33 = 0x1bd;" (assignment_expression "uVar33 = 0x1bd" identifier = number_literal) ;) (labeled_statement "LAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;" statement_identifier : (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;)) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" identifier + number_literal)) ;) (expression_statement "uVar15 = 0x1a9;" (assignment_expression "uVar15 = 0x1a9" identifier = number_literal) ;) (goto_statement "goto LAB_002b725c;" goto statement_identifier ;) })) (expression_statement "local_c9 = cVar4;" (assignment_expression "local_c9 = cVar4" identifier = identifier) ;) (if_statement "if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }" { (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (labeled_statement "LAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];" statement_identifier : (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" identifier = (subscript_expression "pfVar5[0xb4]" identifier [ number_literal ])) ;)) (if_statement "if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }" if (parenthesized_expression "(fVar38 == 2.8026e-45)" ( (binary_expression "fVar38 == 2.8026e-45" identifier == number_literal) )) (compound_statement "{\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }" { (labeled_statement "LAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" statement_identifier : (if_statement "if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" if (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) != 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x40) != 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" * (cast_expression "(int *)((int)fVar50 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x40)" ( (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" { (expression_statement "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;" (assignment_expression "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64" (pointer_expression "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" * (cast_expression "(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x44) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" * (cast_expression "(int *)((int)fVar50 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x44)" ( (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (cast_expression "(int)uVar64" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) })) }) (else_clause "else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" else (compound_statement "{\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" { (labeled_statement "LAB_002b6fd4:\n                  uVar17 = (uint)local_b4;" statement_identifier : (expression_statement "uVar17 = (uint)local_b4;" (assignment_expression "uVar17 = (uint)local_b4" identifier = (cast_expression "(uint)local_b4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (if_statement "if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }" if (parenthesized_expression "(uVar17 == 0x18)" ( (binary_expression "uVar17 == 0x18" identifier == number_literal) )) (compound_statement "{\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }" { (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,3,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" if (parenthesized_expression "(iVar23 != 3)" ( (binary_expression "iVar23 != 3" identifier != number_literal) )) (compound_statement "{\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" { (expression_statement "uVar33 = 0x1ff;" (assignment_expression "uVar33 = 0x1ff" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "local_78 = (double)(float)((double)local_58 * dVar69);" (assignment_expression "local_78 = (double)(float)((double)local_58 * dVar69)" identifier = (cast_expression "(double)(float)((double)local_58 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_58 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_58 * dVar69)" ( (binary_expression "(double)local_58 * dVar69" (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_80 = (double)(float)((double)local_57 * dVar69);" (assignment_expression "local_80 = (double)(float)((double)local_57 * dVar69)" identifier = (cast_expression "(double)(float)((double)local_57 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_57 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_57 * dVar69)" ( (binary_expression "(double)local_57 * dVar69" (cast_expression "(double)local_57" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_88 = (double)(float)((double)local_56 * dVar69);" (assignment_expression "local_88 = (double)(float)((double)local_56 * dVar69)" identifier = (cast_expression "(double)(float)((double)local_56 * dVar69)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_56 * dVar69)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_56 * dVar69)" ( (binary_expression "(double)local_56 * dVar69" (cast_expression "(double)local_56" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (if_statement "if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }" if (parenthesized_expression "(0x18 < uVar17)" ( (binary_expression "0x18 < uVar17" number_literal < identifier) )) (compound_statement "{\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }" { (if_statement "if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }" if (parenthesized_expression "(uVar17 == 0x20)" ( (binary_expression "uVar17 == 0x20" identifier == number_literal) )) (compound_statement "{\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }" { (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,4,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }" if (parenthesized_expression "(iVar23 != 4)" ( (binary_expression "iVar23 != 4" identifier != number_literal) )) (compound_statement "{\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }" { (expression_statement "uVar33 = 0x20b;" (assignment_expression "uVar33 = 0x20b" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "dVar62 = *(double *)(puVar14 + -0x5af0);" (assignment_expression "dVar62 = *(double *)(puVar14 + -0x5af0)" identifier = (pointer_expression "*(double *)(puVar14 + -0x5af0)" * (cast_expression "(double *)(puVar14 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + -0x5af0)" ( (binary_expression "puVar14 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "local_78 = (double)(float)((double)local_58 * dVar62);" (assignment_expression "local_78 = (double)(float)((double)local_58 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_58 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_58 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_58 * dVar62)" ( (binary_expression "(double)local_58 * dVar62" (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_80 = (double)(float)((double)local_57 * dVar62);" (assignment_expression "local_80 = (double)(float)((double)local_57 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_57 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_57 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_57 * dVar62)" ( (binary_expression "(double)local_57 * dVar62" (cast_expression "(double)local_57" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_88 = (double)(float)((double)local_56 * dVar62);" (assignment_expression "local_88 = (double)(float)((double)local_56 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_56 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_56 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_56 * dVar62)" ( (binary_expression "(double)local_56 * dVar62" (cast_expression "(double)local_56" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "local_68 = (double)(float)((double)local_55 * dVar62);" (assignment_expression "local_68 = (double)(float)((double)local_55 * dVar62)" identifier = (cast_expression "(double)(float)((double)local_55 * dVar62)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)local_55 * dVar62)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)local_55 * dVar62)" ( (binary_expression "(double)local_55 * dVar62" (cast_expression "(double)local_55" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (labeled_statement "LAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);" statement_identifier : (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,1,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;)) (if_statement "if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" if (parenthesized_expression "(iVar23 != 1)" ( (binary_expression "iVar23 != 1" identifier != number_literal) )) (compound_statement "{\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" { (expression_statement "uVar33 = 0x1ce;" (assignment_expression "uVar33 = 0x1ce" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_58;" (assignment_expression "uVar17 = (uint)local_58" identifier = (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar64 = (ulonglong)(uint)(float)uVar17;" (assignment_expression "uVar64 = (ulonglong)(uint)(float)uVar17" identifier = (cast_expression "(ulonglong)(uint)(float)uVar17" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)(float)uVar17" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)uVar17" ( (type_descriptor "float" primitive_type) ) identifier)))) ;) (if_statement "if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" if (parenthesized_expression "(local_c3 == '\0')" ( (binary_expression "local_c3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }" { (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "local_88 = (double)(float)((double)uVar17 * dVar60);" (assignment_expression "local_88 = (double)(float)((double)uVar17 * dVar60)" identifier = (cast_expression "(double)(float)((double)uVar17 * dVar60)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)uVar17 * dVar60)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)uVar17 * dVar60)" ( (binary_expression "(double)uVar17 * dVar60" (cast_expression "(double)uVar17" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) ))))) ;) (expression_statement "dVar62 = local_88;" (assignment_expression "dVar62 = local_88" identifier = identifier) ;) (expression_statement "dVar65 = local_88;" (assignment_expression "dVar65 = local_88" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) (expression_statement "local_80 = local_88;" (assignment_expression "local_80 = local_88" identifier = identifier) ;) (expression_statement "local_78 = local_88;" (assignment_expression "local_78 = local_88" identifier = identifier) ;) }) (else_clause "else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" else (compound_statement "{\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" { (expression_statement "puVar16 = (undefined4 *)pfVar5[10];" (assignment_expression "puVar16 = (undefined4 *)pfVar5[10]" identifier = (cast_expression "(undefined4 *)pfVar5[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[10]" identifier [ number_literal ]))) ;) (if_statement "if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" if (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" ( (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }" { (expression_statement "puVar16 = puVar16 + uVar17 * 0x16;" (assignment_expression "puVar16 = puVar16 + uVar17 * 0x16" identifier = (binary_expression "puVar16 + uVar17 * 0x16" identifier + (binary_expression "uVar17 * 0x16" identifier * number_literal))) ;) }) (else_clause "else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" else (if_statement "if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" if (parenthesized_expression "(*param_2 != 5.95552e-43)" ( (binary_expression "*param_2 != 5.95552e-43" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" { (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + 0x6f4" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" identifier + number_literal) , number_literal , number_literal , (binary_expression "puVar3 + -0x5990" identifier + number_literal) , identifier , (binary_expression "pfVar5 + 0xd0" identifier + number_literal) ))) ;) })))) (expression_statement "puVar25 = puVar16;" (assignment_expression "puVar25 = puVar16" identifier = identifier) ;) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" identifier = identifier) ;) (do_statement "do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);" do (compound_statement "{\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      }" { (expression_statement "ppfVar10 = ppfVar9;" (assignment_expression "ppfVar10 = ppfVar9" identifier = identifier) ;) (expression_statement "puVar40 = puVar25;" (assignment_expression "puVar40 = puVar25" identifier = identifier) ;) (expression_statement "puVar25 = puVar40 + 4;" (assignment_expression "puVar25 = puVar40 + 4" identifier = (binary_expression "puVar40 + 4" identifier + number_literal)) ;) (expression_statement "pfVar47 = (float *)puVar40[1];" (assignment_expression "pfVar47 = (float *)puVar40[1]" identifier = (cast_expression "(float *)puVar40[1]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar31 = (float *)puVar40[2];" (assignment_expression "pfVar31 = (float *)puVar40[2]" identifier = (cast_expression "(float *)puVar40[2]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[2]" identifier [ number_literal ]))) ;) (expression_statement "pfVar27 = (float *)puVar40[3];" (assignment_expression "pfVar27 = (float *)puVar40[3]" identifier = (cast_expression "(float *)puVar40[3]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[3]" identifier [ number_literal ]))) ;) (expression_statement "*ppfVar10 = (float *)*puVar40;" (assignment_expression "*ppfVar10 = (float *)*puVar40" (pointer_expression "*ppfVar10" * identifier) = (cast_expression "(float *)*puVar40" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar40" * identifier))) ;) (expression_statement "ppfVar10[1] = pfVar47;" (assignment_expression "ppfVar10[1] = pfVar47" (subscript_expression "ppfVar10[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar10[2] = pfVar31;" (assignment_expression "ppfVar10[2] = pfVar31" (subscript_expression "ppfVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar10[3] = pfVar27;" (assignment_expression "ppfVar10[3] = pfVar27" (subscript_expression "ppfVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppfVar9 = ppfVar10 + 4;" (assignment_expression "ppfVar9 = ppfVar10 + 4" identifier = (binary_expression "ppfVar10 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar25 != puVar16 + 0x14)" ( (binary_expression "puVar25 != puVar16 + 0x14" identifier != (binary_expression "puVar16 + 0x14" identifier + number_literal)) )) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "pfVar27 = (float *)puVar40[5];" (assignment_expression "pfVar27 = (float *)puVar40[5]" identifier = (cast_expression "(float *)puVar40[5]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar40[5]" identifier [ number_literal ]))) ;) (expression_statement "ppfVar10[4] = (float *)*puVar25;" (assignment_expression "ppfVar10[4] = (float *)*puVar25" (subscript_expression "ppfVar10[4]" identifier [ number_literal ]) = (cast_expression "(float *)*puVar25" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (expression_statement "ppfVar10[5] = pfVar27;" (assignment_expression "ppfVar10[5] = pfVar27" (subscript_expression "ppfVar10[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" identifier = identifier) ;) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" identifier = identifier) ;) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" identifier = identifier) ;) }))) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (if_statement "if (1 < uVar17 - 0xf) goto LAB_002b747c;" if (parenthesized_expression "(1 < uVar17 - 0xf)" ( (binary_expression "1 < uVar17 - 0xf" number_literal < (binary_expression "uVar17 - 0xf" identifier - number_literal)) )) (goto_statement "goto LAB_002b747c;" goto statement_identifier ;)) (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58)" identifier = (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" ( (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" * (cast_expression "(code *)PTR_ReadBlob_003a8dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5,2,&local_58)" ( identifier , number_literal , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" if (parenthesized_expression "(iVar23 != 2)" ( (binary_expression "iVar23 != 2" identifier != number_literal) )) (compound_statement "{\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" { (expression_statement "uVar33 = 0x1e8;" (assignment_expression "uVar33 = 0x1e8" identifier = number_literal) ;) (goto_statement "goto LAB_002b7920;" goto statement_identifier ;) })) (expression_statement "uVar17 = (uint)local_57;" (assignment_expression "uVar17 = (uint)local_57" identifier = (cast_expression "(uint)local_57" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "dVar54 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "dVar54 = *(double *)(puVar7 + 0x1a58)" identifier = (pointer_expression "*(double *)(puVar7 + 0x1a58)" * (cast_expression "(double *)(puVar7 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1a58)" ( (binary_expression "puVar7 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);" (assignment_expression "dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" identifier = (cast_expression "(double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" ( (binary_expression "(double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54" (binary_expression "(double)((uVar17 << 0x19) >> 0x1b) * dVar67" (cast_expression "(double)((uVar17 << 0x19) >> 0x1b)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar17 << 0x19) >> 0x1b)" ( (binary_expression "(uVar17 << 0x19) >> 0x1b" (parenthesized_expression "(uVar17 << 0x19)" ( (binary_expression "uVar17 << 0x19" identifier << number_literal) )) >> number_literal) ))) * identifier) * identifier) ))))) ;) (expression_statement "dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);" (assignment_expression "dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" identifier = (cast_expression "(double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" ( (binary_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54" (binary_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67" (cast_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5))" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar17 & 3) * 8 + (uint)(local_58 >> 5))" ( (binary_expression "(uVar17 & 3) * 8 + (uint)(local_58 >> 5)" (binary_expression "(uVar17 & 3) * 8" (parenthesized_expression "(uVar17 & 3)" ( (binary_expression "uVar17 & 3" identifier & number_literal) )) * number_literal) + (call_expression "(uint)(local_58 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_58 >> 5)" ( (binary_expression "local_58 >> 5" identifier >> number_literal) )))) ))) * identifier) * identifier) ))))) ;) (expression_statement "dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);" (assignment_expression "dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" identifier = (cast_expression "(double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(local_58 & 0x1f) * dVar67 * dVar54)" ( (binary_expression "(double)(local_58 & 0x1f) * dVar67 * dVar54" (binary_expression "(double)(local_58 & 0x1f) * dVar67" (cast_expression "(double)(local_58 & 0x1f)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(local_58 & 0x1f)" ( (binary_expression "local_58 & 0x1f" identifier & number_literal) ))) * identifier) * identifier) ))))) ;) (if_statement "if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }" if (parenthesized_expression "((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57))" ( (binary_expression "(fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)" (parenthesized_expression "(fVar39 != 0.0)" ( (binary_expression "fVar39 != 0.0" identifier != number_literal) )) && (parenthesized_expression "(local_68 = dVar54, -1 < (char)local_57)" ( (comma_expression "local_68 = dVar54, -1 < (char)local_57" (assignment_expression "local_68 = dVar54" identifier = identifier) , (binary_expression "-1 < (char)local_57" number_literal < (cast_expression "(char)local_57" ( (type_descriptor "char" primitive_type) ) identifier))) ))) )) (compound_statement "{\n                    local_68 = 0.0;\n                  }" { (expression_statement "local_68 = 0.0;" (assignment_expression "local_68 = 0.0" identifier = number_literal) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "local_88 = dVar66;" (assignment_expression "local_88 = dVar66" identifier = identifier) ;) (expression_statement "local_80 = dVar65;" (assignment_expression "local_80 = dVar65" identifier = identifier) ;) (expression_statement "local_78 = dVar62;" (assignment_expression "local_78 = dVar62" identifier = identifier) ;) (if_statement "if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }" if (parenthesized_expression "(*pfVar5 == 2.8026e-45)" ( (binary_expression "*pfVar5 == 2.8026e-45" (pointer_expression "*pfVar5" * identifier) == number_literal) )) (compound_statement "{\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }" { (expression_statement "iVar23 = uVar17 * 0x100 + (uint)local_58;" (assignment_expression "iVar23 = uVar17 * 0x100 + (uint)local_58" identifier = (binary_expression "uVar17 * 0x100 + (uint)local_58" (binary_expression "uVar17 * 0x100" identifier * number_literal) + (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" if (parenthesized_expression "(iVar23 < (int)pfVar5[9])" ( (binary_expression "iVar23 < (int)pfVar5[9]" identifier < (cast_expression "(int)pfVar5[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }" { (expression_statement "uVar64 = (ulonglong)(uint)(float)iVar23;" (assignment_expression "uVar64 = (ulonglong)(uint)(float)iVar23" identifier = (cast_expression "(ulonglong)(uint)(float)iVar23" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)(float)iVar23" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(float)iVar23" ( (type_descriptor "float" primitive_type) ) identifier)))) ;) }) (else_clause "else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" else (compound_statement "{\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" { (if_statement "if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }" if (parenthesized_expression "(*param_2 != 5.95552e-43)" ( (binary_expression "*param_2 != 5.95552e-43" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }" { (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + 0x6f4" identifier + number_literal) , (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" identifier + number_literal) , number_literal , number_literal , (binary_expression "puVar3 + -0x5990" identifier + number_literal) , identifier , (binary_expression "pfVar5 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" identifier = (subscript_expression "pfVar5[0xaf]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_002b6f24;" goto statement_identifier ;) })) (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" identifier = number_literal) ;) }))) (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" identifier = (subscript_expression "pfVar5[0xb4]" identifier [ number_literal ])) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_002b72e8;" goto statement_identifier ;) })) (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" identifier = (subscript_expression "pfVar5[0xb4]" identifier [ number_literal ])) ;) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" identifier = (subscript_expression "pfVar5[6]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar23 = *(int *)((int)fVar50 + 0x20);" (assignment_expression "iVar23 = *(int *)((int)fVar50 + 0x20)" identifier = (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;" (assignment_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66" (pointer_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)dVar66" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar31 = (float)dVar65;" (assignment_expression "*pfVar31 = (float)dVar65" (pointer_expression "*pfVar31" * identifier) = (cast_expression "(float)dVar65" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar6 + iVar23 * 4) = (float)dVar62;" (assignment_expression "*(float *)(iVar6 + iVar23 * 4) = (float)dVar62" (pointer_expression "*(float *)(iVar6 + iVar23 * 4)" * (cast_expression "(float *)(iVar6 + iVar23 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar23 * 4)" ( (binary_expression "iVar6 + iVar23 * 4" identifier + (binary_expression "iVar23 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar62" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }" if (parenthesized_expression "((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0))" ( (binary_expression "(fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)" (parenthesized_expression "(fVar39 != 0.0)" ( (binary_expression "fVar39 != 0.0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) != 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x34) != 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }" { (expression_statement "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;" (assignment_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68" (pointer_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)local_68" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;" (assignment_expression "iVar6 = iVar6 + (int)pfVar5[0xb0] * 4" identifier = (binary_expression "iVar6 + (int)pfVar5[0xb0] * 4" identifier + (binary_expression "(int)pfVar5[0xb0] * 4" (cast_expression "(int)pfVar5[0xb0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[0xb0]" identifier [ number_literal ])) * number_literal))) ;) }) while (parenthesized_expression "(iVar37 < (int)fVar8)" ( (binary_expression "iVar37 < (int)fVar8" identifier < (cast_expression "(int)fVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (if_statement "if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" if (parenthesized_expression "(local_b3 >> 6 == 2)" ( (binary_expression "local_b3 >> 6 == 2" (binary_expression "local_b3 >> 6" identifier >> number_literal) == number_literal) )) (compound_statement "{\n              local_f8 = (float *)((int)local_f8 + 2);\n            }" { (expression_statement "local_f8 = (float *)((int)local_f8 + 2);" (assignment_expression "local_f8 = (float *)((int)local_f8 + 2)" identifier = (cast_expression "(float *)((int)local_f8 + 2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + 2)" ( (binary_expression "(int)local_f8 + 2" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" else (compound_statement "{\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" { (expression_statement "local_f8 = (float *)((int)local_f8 + 1);" (assignment_expression "local_f8 = (float *)((int)local_f8 + 1)" identifier = (cast_expression "(float *)((int)local_f8 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + 1)" ( (binary_expression "(int)local_f8 + 1" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (if_statement "if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }" if (parenthesized_expression "((float *)pfVar5[7] <= local_f8)" ( (binary_expression "(float *)pfVar5[7] <= local_f8" (cast_expression "(float *)pfVar5[7]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar5[7]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }" { (expression_statement "local_f8 = (float *)((int)local_e4 + 1);" (assignment_expression "local_f8 = (float *)((int)local_e4 + 1)" identifier = (cast_expression "(float *)((int)local_e4 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_e4 + 1)" ( (binary_expression "(int)local_e4 + 1" (cast_expression "(int)local_e4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_e4 = local_f8;" (assignment_expression "local_e4 = local_f8" identifier = identifier) ;) })) (expression_statement "pfVar27 = param_2;" (assignment_expression "pfVar27 = param_2" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5)" identifier = (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" ( (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" * (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar8 = pfVar5[7];" (assignment_expression "fVar8 = pfVar5[7]" identifier = (subscript_expression "pfVar5[7]" identifier [ number_literal ])) ;) (if_statement "if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }" if (parenthesized_expression "(pfVar5[0xcd9] == 0.0)" ( (binary_expression "pfVar5[0xcd9] == 0.0" (subscript_expression "pfVar5[0xcd9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }" { (expression_statement "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);" (assignment_expression "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" identifier = (cast_expression "(float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" identifier + number_literal) )))) ;) (expression_statement "pfVar31 = local_f0;" (assignment_expression "pfVar31 = local_f0" identifier = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);" (assignment_expression "iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" identifier = (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" (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 "(pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" ( identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar8 = pfVar5[7];" (assignment_expression "fVar8 = pfVar5[7]" identifier = (subscript_expression "pfVar5[7]" identifier [ number_literal ])) ;) })) (expression_statement "uVar17 = local_ec + 1;" (assignment_expression "uVar17 = local_ec + 1" identifier = (binary_expression "local_ec + 1" identifier + number_literal)) ;) (expression_statement "local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);" (assignment_expression "local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0)" identifier = (cast_expression "(float *)((uint)(uVar17 < local_ec) + (int)local_f0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(uVar17 < local_ec) + (int)local_f0)" ( (binary_expression "(uint)(uVar17 < local_ec) + (int)local_f0" (call_expression "(uint)(uVar17 < local_ec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < local_ec)" ( (binary_expression "uVar17 < local_ec" identifier < identifier) ))) + (cast_expression "(int)local_f0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_ec = uVar17;" (assignment_expression "local_ec = uVar17" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar17 < (int)fVar8)" ( (binary_expression "(int)uVar17 < (int)fVar8" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)fVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5)" identifier = (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" ( (pointer_expression "*(code *)PTR_EOFBlob_003a9748" * (cast_expression "(code *)PTR_EOFBlob_003a9748" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }" { (expression_statement "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);" (assignment_expression "uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar16)" ( (pointer_expression "*puVar16" * identifier) )))) ;) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33)" ( identifier , identifier , identifier , number_literal , number_literal , (binary_expression "PTR_s_courses_003a88ec + -0x17c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal) , (binary_expression "pfVar5 + 0xd0" identifier + number_literal) , identifier ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar33);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar33)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar33)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" ( identifier ))) ;) (expression_statement "pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);" (assignment_expression "pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" identifier = (cast_expression "(float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" ( (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" * (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))))) ;) }))) }) (else_clause "else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" else (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" ( identifier ))) ;) (expression_statement "pfVar47 = pfVar5;" (assignment_expression "pfVar47 = pfVar5" identifier = identifier) ;) }))) }) (else_clause "else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" else (compound_statement "{\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" { (labeled_statement "LAB_002b68ec:\n    uVar33 = 0xdd;" statement_identifier : (expression_statement "uVar33 = 0xdd;" (assignment_expression "uVar33 = 0xdd" identifier = number_literal) ;)) (labeled_statement "LAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;" statement_identifier : (expression_statement "puVar7 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar7 = PTR_s_courses_003a88ec + -400" identifier = (binary_expression "PTR_s_courses_003a88ec + -400" identifier + number_literal)) ;)) (labeled_statement "LAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" statement_identifier : (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" identifier + number_literal) )))) ;)) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" identifier = (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" ( (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210)" ( identifier , identifier , identifier , identifier , number_literal , identifier , (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal) , (binary_expression "param_1 + 0x2210" identifier + number_literal) ))) ;) (if_statement "if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }" if (parenthesized_expression "(pfVar5 != (float *)0x0)" ( (binary_expression "pfVar5 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }" { (labeled_statement "LAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);" statement_identifier : (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" ( identifier ))) ;)) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" ( (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" * (cast_expression "(code *)PTR_DestroyImageList_003a9510" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pfVar5)" ( identifier ))) ;) })) (expression_statement "pfVar47 = (float *)0x0;" (assignment_expression "pfVar47 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }" statement_identifier : (if_statement "if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }" if (parenthesized_expression "(local_54 == *(float **)puVar52)" ( (binary_expression "local_54 == *(float **)puVar52" identifier == (pointer_expression "*(float **)puVar52" * (cast_expression "(float **)puVar52" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return pfVar47;\n  }" { (return_statement "return pfVar47;" return identifier ;) }))) (expression_statement "pfVar5 = local_54;" (assignment_expression "pfVar5 = local_54" identifier = identifier) ;) (expression_statement "puVar52 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar52 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar5 == (float *)0x0)" ( (binary_expression "pfVar5 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xd78" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (expression_statement "iVar6 = *(int *)(puVar52 + 0xf0e38);" (assignment_expression "iVar6 = *(int *)(puVar52 + 0xf0e38)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) ))))) ;) (if_statement "if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar5[0xc85] != -1.2269538e-12)" ( (binary_expression "pfVar5[0xc85] != -1.2269538e-12" (subscript_expression "pfVar5[0xc85]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xda0" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar27 == (float *)0x0)" ( (binary_expression "pfVar27 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xdd0" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar27[0xcdb] != -1.2269538e-12)" ( (binary_expression "pfVar27[0xcdb] != -1.2269538e-12" (subscript_expression "pfVar27[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x3784" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3798" identifier + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }" if (parenthesized_expression "(pfVar27[0xcd4] != 0.0)" ( (binary_expression "pfVar27[0xcd4] != 0.0" (subscript_expression "pfVar27[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }" { (expression_statement "(**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf16cc))" ( (pointer_expression "**(code **)(puVar52 + 0xf16cc)" * (pointer_expression "*(code **)(puVar52 + 0xf16cc)" * (cast_expression "(code **)(puVar52 + 0xf16cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf16cc)" ( (binary_expression "puVar52 + 0xf16cc" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0)" ( number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x62ac" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) })) (if_statement "if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar31 == (float *)0x0)" ( (binary_expression "pfVar31 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1cac" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (if_statement "if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" if (parenthesized_expression "(pfVar31[7] != -1.2269538e-12)" ( (binary_expression "pfVar31[7] != -1.2269538e-12" (subscript_expression "pfVar31[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" { (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" identifier = (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1af4)" * (pointer_expression "*(code **)(puVar52 + 0xf1af4)" * (cast_expression "(code **)(puVar52 + 0xf1af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1af4)" ( (binary_expression "puVar52 + 0xf1af4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x294c" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pfVar27;" return identifier ;) })) (expression_statement "iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);" (assignment_expression "iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1738))" ( (pointer_expression "**(code **)(puVar52 + 0xf1738)" * (pointer_expression "*(code **)(puVar52 + 0xf1738)" * (cast_expression "(code **)(puVar52 + 0xf1738)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1738)" ( (binary_expression "puVar52 + 0xf1738" identifier + number_literal) ))))) )) (argument_list "(pfVar5,pfVar27,4,pfVar31)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n    return (float *)0x0;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    return (float *)0x0;\n  }" { (return_statement "return (float *)0x0;" return (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" if (parenthesized_expression "((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7]))" ( (binary_expression "(0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])" (parenthesized_expression "(0xffff < (uint)pfVar27[6])" ( (binary_expression "0xffff < (uint)pfVar27[6]" number_literal < (cast_expression "(uint)pfVar27[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[6]" identifier [ number_literal ]))) )) || (parenthesized_expression "(0xffff < (uint)pfVar27[7])" ( (binary_expression "0xffff < (uint)pfVar27[7]" number_literal < (cast_expression "(uint)pfVar27[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" { (expression_statement "(**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" ( (pointer_expression "**(code **)(puVar52 + 0xf140c)" * (pointer_expression "*(code **)(puVar52 + 0xf140c)" * (cast_expression "(code **)(puVar52 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf140c)" ( (binary_expression "puVar52 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" identifier = identifier) ;) (if_statement "if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" if (parenthesized_expression "(pfVar5[3] == 0.0)" ( (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }" { (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" else (compound_statement "{\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" { (do_statement "do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);" do (compound_statement "{\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      }" { (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" identifier = (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" ( (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ])) != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (goto_statement "goto LAB_002b7c64;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);" (call_expression "(**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf166c))" ( (pointer_expression "**(code **)(puVar52 + 0xf166c)" * (pointer_expression "*(code **)(puVar52 + 0xf166c)" * (cast_expression "(code **)(puVar52 + 0xf166c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf166c)" ( (binary_expression "puVar52 + 0xf166c" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0x17,pfVar31)" ( identifier , number_literal , identifier ))) ;) (expression_statement "fVar8 = *pfVar5;" (assignment_expression "fVar8 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (if_statement "if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }" if (parenthesized_expression "(*pfVar5 == 0.0)" ( (binary_expression "*pfVar5 == 0.0" (pointer_expression "*pfVar5" * identifier) == number_literal) )) (compound_statement "{\n    fVar8 = pfVar27[2];\n  }" { (expression_statement "fVar8 = pfVar27[2];" (assignment_expression "fVar8 = pfVar27[2]" identifier = (subscript_expression "pfVar27[2]" identifier [ number_literal ])) ;) })) (expression_statement "iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);" (assignment_expression "iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf18e8))" ( (pointer_expression "**(code **)(puVar52 + 0xf18e8)" * (pointer_expression "*(code **)(puVar52 + 0xf18e8)" * (cast_expression "(code **)(puVar52 + 0xf18e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf18e8)" ( (binary_expression "puVar52 + 0xf18e8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x1928" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar17 = 0;\n  }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" else (compound_statement "{\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" { (expression_statement "uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);" (assignment_expression "uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1824))(iVar6)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1824))" ( (pointer_expression "**(code **)(puVar52 + 0xf1824)" * (pointer_expression "*(code **)(puVar52 + 0xf1824)" * (cast_expression "(code **)(puVar52 + 0xf1824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1824)" ( (binary_expression "puVar52 + 0xf1824" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier )))) ;) (if_statement "if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }" if (parenthesized_expression "(uVar17 < 0xff)" ( (binary_expression "uVar17 < 0xff" identifier < number_literal) )) (compound_statement "{\n      uVar17 = uVar17 & 0xff;\n    }" { (expression_statement "uVar17 = uVar17 & 0xff;" (assignment_expression "uVar17 = uVar17 & 0xff" identifier = (binary_expression "uVar17 & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\n      uVar17 = 0xff;\n    }" else (compound_statement "{\n      uVar17 = 0xff;\n    }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (expression_statement "fVar38 = pfVar27[7];" (assignment_expression "fVar38 = pfVar27[7]" identifier = (subscript_expression "pfVar27[7]" identifier [ number_literal ])) ;) (expression_statement "fVar39 = fVar50;" (assignment_expression "fVar39 = fVar50" identifier = identifier) ;) (if_statement "if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" if (parenthesized_expression "((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0))" ( (binary_expression "(((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)" (parenthesized_expression "(((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45))" ( (binary_expression "((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)" (parenthesized_expression "((int)pfVar5[0x76] - 6U < 2)" ( (binary_expression "(int)pfVar5[0x76] - 6U < 2" (binary_expression "(int)pfVar5[0x76] - 6U" (cast_expression "(int)pfVar5[0x76]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar5[0x76]" identifier [ number_literal ])) - number_literal) < number_literal) )) || (parenthesized_expression "(pfVar5[0x76] == 5.60519e-45)" ( (binary_expression "pfVar5[0x76] == 5.60519e-45" (subscript_expression "pfVar5[0x76]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }" { (labeled_statement "LAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" statement_identifier : (if_statement "if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" if (parenthesized_expression "(*pfVar27 != 1.4013e-45)" ( (binary_expression "*pfVar27 != 1.4013e-45" (pointer_expression "*pfVar27" * identifier) != number_literal) )) (compound_statement "{\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" { (expression_statement "uVar26 = 9;" (assignment_expression "uVar26 = 9" identifier = number_literal) ;) (if_statement "if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" if (parenthesized_expression "((uint)pfVar27[9] < 0x101)" ( (binary_expression "(uint)pfVar27[9] < 0x101" (cast_expression "(uint)pfVar27[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[9]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 8;" (assignment_expression "uVar33 = 8" identifier = number_literal) ;) (if_statement "if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }" if (parenthesized_expression "(fVar8 != 2.66247e-44)" ( (binary_expression "fVar8 != 2.66247e-44" identifier != number_literal) )) (compound_statement "{\n          uVar26 = 1;\n        }" { (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" identifier = number_literal) ;) })) (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" identifier = number_literal) ;) (expression_statement "iVar37 = 1;" (assignment_expression "iVar37 = 1" identifier = number_literal) ;) (expression_statement "uVar34 = (uint)pfVar27[9] & 0xffff;" (assignment_expression "uVar34 = (uint)pfVar27[9] & 0xffff" identifier = (binary_expression "(uint)pfVar27[9] & 0xffff" (cast_expression "(uint)pfVar27[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[9]" identifier [ number_literal ])) & number_literal)) ;) (if_statement "if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }" if (parenthesized_expression "(pfVar5[0xc] != 7.00649e-45)" ( (binary_expression "pfVar5[0xc] != 7.00649e-45" (subscript_expression "pfVar5[0xc]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          uVar18 = 0x18;\n        }" { (expression_statement "uVar18 = 0x18;" (assignment_expression "uVar18 = 0x18" identifier = number_literal) ;) })) (goto_statement "goto LAB_002b7de4;" goto statement_identifier ;) })) }))) (expression_statement "uVar26 = 10;" (assignment_expression "uVar26 = 10" identifier = number_literal) ;) (expression_statement "fVar59 = pfVar27[0xaf];" (assignment_expression "fVar59 = pfVar27[0xaf]" identifier = (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ])) ;) (if_statement "if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }" if (parenthesized_expression "(fVar8 != 2.66247e-44)" ( (binary_expression "fVar8 != 2.66247e-44" identifier != number_literal) )) (compound_statement "{\n      uVar26 = 2;\n    }" { (expression_statement "uVar26 = 2;" (assignment_expression "uVar26 = 2" identifier = number_literal) ;) })) (if_statement "if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" if (parenthesized_expression "(pfVar5[0xc] == 7.00649e-45)" ( (binary_expression "pfVar5[0xc] == 7.00649e-45" (subscript_expression "pfVar5[0xc]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }" { (expression_statement "bVar36 = fVar59 != 0.0;" (assignment_expression "bVar36 = fVar59 != 0.0" identifier = (binary_expression "fVar59 != 0.0" identifier != number_literal)) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 0x10;" (assignment_expression "uVar33 = 0x10" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" else (compound_statement "{\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" { (expression_statement "uVar33 = 0x18;" (assignment_expression "uVar33 = 0x18" identifier = number_literal) ;) (expression_statement "bVar36 = 8;" (assignment_expression "bVar36 = 8" identifier = number_literal) ;) (if_statement "if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }" if (parenthesized_expression "(fVar59 != 0.0)" ( (binary_expression "fVar59 != 0.0" identifier != number_literal) )) (compound_statement "{\n        uVar33 = 0x20;\n      }" { (expression_statement "uVar33 = 0x20;" (assignment_expression "uVar33 = 0x20" identifier = number_literal) ;) })) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (if_statement "if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }" if (parenthesized_expression "(fVar59 == 0.0)" ( (binary_expression "fVar59 == 0.0" identifier == number_literal) )) (compound_statement "{\n        bVar36 = 0;\n      }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) })) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" else (compound_statement "{\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" { (expression_statement "iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);" (assignment_expression "iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1490))" ( (pointer_expression "**(code **)(puVar52 + 0xf1490)" * (pointer_expression "*(code **)(puVar52 + 0xf1490)" * (cast_expression "(code **)(puVar52 + 0xf1490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1490)" ( (binary_expression "puVar52 + 0xf1490" identifier + number_literal) ))))) )) (argument_list "(pfVar27,pfVar31)" ( identifier , identifier )))) ;) (expression_statement "fVar39 = pfVar27[6];" (assignment_expression "fVar39 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (if_statement "if (iVar37 == 0) goto LAB_002b7d90;" if (parenthesized_expression "(iVar37 == 0)" ( (binary_expression "iVar37 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002b7d90;" goto statement_identifier ;)) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "uVar33 = 8;" (assignment_expression "uVar33 = 8" identifier = number_literal) ;) (expression_statement "uVar26 = 0xb;" (assignment_expression "uVar26 = 0xb" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }" if (parenthesized_expression "(fVar8 != 2.66247e-44)" ( (binary_expression "fVar8 != 2.66247e-44" identifier != number_literal) )) (compound_statement "{\n      uVar26 = 3;\n    }" { (expression_statement "uVar26 = 3;" (assignment_expression "uVar26 = 3" identifier = number_literal) ;) })) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }" statement_identifier : (if_statement "if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }" if (parenthesized_expression "((int)pfVar27[4] - 2U < 2)" ( (binary_expression "(int)pfVar27[4] - 2U < 2" (binary_expression "(int)pfVar27[4] - 2U" (cast_expression "(int)pfVar27[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[4]" identifier [ number_literal ])) - number_literal) < number_literal) )) (compound_statement "{\n    bVar36 = bVar36 | 0x10;\n  }" { (expression_statement "bVar36 = bVar36 | 0x10;" (assignment_expression "bVar36 = bVar36 | 0x10" identifier = (binary_expression "bVar36 | 0x10" identifier | number_literal)) ;) }))) (if_statement "if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }" if (parenthesized_expression "((uint)pfVar27[4] < 3)" ( (binary_expression "(uint)pfVar27[4] < 3" (cast_expression "(uint)pfVar27[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[4]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n    bVar36 = bVar36 | 0x20;\n  }" { (expression_statement "bVar36 = bVar36 | 0x20;" (assignment_expression "bVar36 = bVar36 | 0x20" identifier = (binary_expression "bVar36 | 0x20" identifier | number_literal)) ;) })) (if_statement "if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }" if (parenthesized_expression "(((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000))" ( (binary_expression "((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)" (parenthesized_expression "((uint)fVar39 < 0x10000)" ( (binary_expression "(uint)fVar39 < 0x10000" (cast_expression "(uint)fVar39" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((uint)pfVar27[7] < 0x10000)" ( (binary_expression "(uint)pfVar27[7] < 0x10000" (cast_expression "(uint)pfVar27[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar27[7]" identifier [ number_literal ])) < number_literal) ))) )) (compound_statement "{\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }" { (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,iVar37)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar26)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar34)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,(uint)fVar50 & 0xffff)" ( identifier , (binary_expression "(uint)fVar50 & 0xffff" (cast_expression "(uint)fVar50" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" ( (pointer_expression "**(code **)(puVar52 + 0xf1de4)" * (pointer_expression "*(code **)(puVar52 + 0xf1de4)" * (cast_expression "(code **)(puVar52 + 0xf1de4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1de4)" ( (binary_expression "puVar52 + 0xf1de4" identifier + number_literal) ))))) )) (argument_list "(pfVar27,(uint)fVar38 & 0xffff)" ( identifier , (binary_expression "(uint)fVar38 & 0xffff" (cast_expression "(uint)fVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar33)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,bVar36)" ( identifier , identifier ))) ;) (if_statement "if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }" { (expression_statement "(**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);" (call_expression "(**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1e80))" ( (pointer_expression "**(code **)(puVar52 + 0xf1e80)" * (pointer_expression "*(code **)(puVar52 + 0xf1e80)" * (cast_expression "(code **)(puVar52 + 0xf1e80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1e80)" ( (binary_expression "puVar52 + 0xf1e80" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17,iVar6)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }" if (parenthesized_expression "(iVar37 != 0)" ( (binary_expression "iVar37 != 0" identifier != number_literal) )) (compound_statement "{\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }" { (expression_statement "pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);" (assignment_expression "pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34)" identifier = (cast_expression "(byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar52 + 0xf19f8))(uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf19f8))" ( (pointer_expression "**(code **)(puVar52 + 0xf19f8)" * (pointer_expression "*(code **)(puVar52 + 0xf19f8)" * (cast_expression "(code **)(puVar52 + 0xf19f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf19f8)" ( (binary_expression "puVar52 + 0xf19f8" identifier + number_literal) ))))) )) (argument_list "(uVar34)" ( identifier ))))) ;) (if_statement "if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" if (parenthesized_expression "(pbVar20 == (byte *)0x0)" ( (binary_expression "pbVar20 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" { (expression_statement "(**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" ( (pointer_expression "**(code **)(puVar52 + 0xf140c)" * (pointer_expression "*(code **)(puVar52 + 0xf140c)" * (cast_expression "(code **)(puVar52 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf140c)" ( (binary_expression "puVar52 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x16f8" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" identifier = identifier) ;) (if_statement "if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" if (parenthesized_expression "(pfVar5[3] == 0.0)" ( (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }" { (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" else (compound_statement "{\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" { (do_statement "do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);" do (compound_statement "{\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          }" { (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" identifier = (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" ( (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ])) != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (goto_statement "goto LAB_002b7c64;" goto statement_identifier ;) })) (expression_statement "fVar39 = pfVar27[9];" (assignment_expression "fVar39 = pfVar27[9]" identifier = (subscript_expression "pfVar27[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }" if (parenthesized_expression "(0 < (int)fVar39)" ( (binary_expression "0 < (int)fVar39" number_literal < (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }" { (expression_statement "iVar49 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar49 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar19 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar65 = *(double *)(iVar49 + 0x1400);" (assignment_expression "dVar65 = *(double *)(iVar49 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "iVar37 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar37 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);" (assignment_expression "dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x5af0" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(puVar52 + 0xf0dd8);" (assignment_expression "iVar6 = *(int *)(puVar52 + 0xf0dd8)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) ))))) ;) (expression_statement "dVar63 = *(double *)(iVar37 + -0x5ae8);" (assignment_expression "dVar63 = *(double *)(iVar37 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar37 + -0x5ae8)" * (cast_expression "(double *)(iVar37 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5ae8)" ( (binary_expression "iVar37 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "iVar48 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar48 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar54 = *(double *)(iVar6 + -0x62d8);" (assignment_expression "dVar54 = *(double *)(iVar6 + -0x62d8)" identifier = (pointer_expression "*(double *)(iVar6 + -0x62d8)" * (cast_expression "(double *)(iVar6 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x62d8)" ( (binary_expression "iVar6 + -0x62d8" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar23 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar66 = *(double *)(iVar19 + 0x1a60);" (assignment_expression "dVar66 = *(double *)(iVar19 + 0x1a60)" identifier = (pointer_expression "*(double *)(iVar19 + 0x1a60)" * (cast_expression "(double *)(iVar19 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a60)" ( (binary_expression "iVar19 + 0x1a60" identifier + number_literal) ))))) ;) (expression_statement "dVar61 = *(double *)(iVar48 + 0x1410);" (assignment_expression "dVar61 = *(double *)(iVar48 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar48 + 0x1410)" * (cast_expression "(double *)(iVar48 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + 0x1410)" ( (binary_expression "iVar48 + 0x1410" identifier + number_literal) ))))) ;) (expression_statement "fVar50 = pfVar27[10];" (assignment_expression "fVar50 = pfVar27[10]" identifier = (subscript_expression "pfVar27[10]" identifier [ number_literal ])) ;) (expression_statement "dVar57 = *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar57 = *(double *)(iVar23 + 0x1a58)" identifier = (pointer_expression "*(double *)(iVar23 + 0x1a58)" * (cast_expression "(double *)(iVar23 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1a58)" ( (binary_expression "iVar23 + 0x1a58" identifier + number_literal) ))))) ;) (expression_statement "fVar59 = pfVar5[0xc];" (assignment_expression "fVar59 = pfVar5[0xc]" identifier = (subscript_expression "pfVar5[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar45 = 0;" (assignment_expression "iVar45 = 0" identifier = number_literal) ;) (expression_statement "fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);" (assignment_expression "fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" identifier = (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pbVar46 = pbVar20;" (assignment_expression "pbVar46 = pbVar20" identifier = identifier) ;) (expression_statement "dVar67 = dVar61;" (assignment_expression "dVar67 = dVar61" identifier = identifier) ;) (expression_statement "dVar69 = dVar68;" (assignment_expression "dVar69 = dVar68" identifier = identifier) ;) (expression_statement "dVar60 = dVar68;" (assignment_expression "dVar60 = dVar68" identifier = identifier) ;) (expression_statement "dVar62 = dVar63;" (assignment_expression "dVar62 = dVar63" identifier = identifier) ;) (do_statement "do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);" do (compound_statement "{\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        }" { (expression_statement "iVar51 = (int)fVar50 + iVar45;" (assignment_expression "iVar51 = (int)fVar50 + iVar45" identifier = (binary_expression "(int)fVar50 + iVar45" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "fVar56 = (float)*(double *)(iVar51 + 0x38);" (assignment_expression "fVar56 = (float)*(double *)(iVar51 + 0x38)" identifier = (cast_expression "(float)*(double *)(iVar51 + 0x38)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x38)" * (cast_expression "(double *)(iVar51 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x38)" ( (binary_expression "iVar51 + 0x38" identifier + number_literal) )))))) ;) (if_statement "if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" if (parenthesized_expression "(fVar59 == 7.00649e-45)" ( (binary_expression "fVar59 == 7.00649e-45" identifier == number_literal) )) (compound_statement "{\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }" { (if_statement "if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" if (parenthesized_expression "((float)*(double *)(iVar51 + 0x30) <= 0.0)" ( (binary_expression "(float)*(double *)(iVar51 + 0x30) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) ))))) <= number_literal) )) (compound_statement "{\n              bVar36 = 0;\n              bVar21 = 0;\n            }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" else (compound_statement "{\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" { (expression_statement "dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" identifier = (binary_expression "((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (parenthesized_expression "((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8))" ( (binary_expression "(double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)" (cast_expression "(double)(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) )))))) * (pointer_expression "*(double *)(iVar6 + -0x62d8)" * (cast_expression "(double *)(iVar6 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x62d8)" ( (binary_expression "iVar6 + -0x62d8" identifier + number_literal) ))))) )) / (pointer_expression "*(double *)(iVar23 + 0x1a58)" * (cast_expression "(double *)(iVar23 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1a58)" ( (binary_expression "iVar23 + 0x1a58" identifier + number_literal) )))))) ;) (if_statement "if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" if (parenthesized_expression "(dVar55 < *(double *)(iVar19 + 0x1a60))" ( (binary_expression "dVar55 < *(double *)(iVar19 + 0x1a60)" identifier < (pointer_expression "*(double *)(iVar19 + 0x1a60)" * (cast_expression "(double *)(iVar19 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a60)" ( (binary_expression "iVar19 + 0x1a60" identifier + number_literal) ))))) )) (compound_statement "{\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" ( (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);" (assignment_expression "bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" identifier = (call_expression "(byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" ( (binary_expression "((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_08 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_08 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_08 & 0xff)" ( (binary_expression "extraout_v1_08 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) ;) (expression_statement "bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);" (assignment_expression "bVar21 = (byte)((extraout_v1_08 & 0xff) << 5)" identifier = (call_expression "(byte)((extraout_v1_08 & 0xff) << 5)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_08 & 0xff) << 5)" ( (binary_expression "(extraout_v1_08 & 0xff) << 5" (parenthesized_expression "(extraout_v1_08 & 0xff)" ( (binary_expression "extraout_v1_08 & 0xff" identifier & number_literal) )) << number_literal) )))) ;) }) (else_clause "else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" else (compound_statement "{\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" { (expression_statement "bVar36 = 3;" (assignment_expression "bVar36 = 3" identifier = number_literal) ;) (expression_statement "bVar21 = 0xe0;" (assignment_expression "bVar21 = 0xe0" identifier = number_literal) ;) }))) }))) (if_statement "if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }" if (parenthesized_expression "(0.0 < fVar56)" ( (binary_expression "0.0 < fVar56" number_literal < identifier) )) (compound_statement "{\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }" { (expression_statement "dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" identifier = (binary_expression "((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (parenthesized_expression "((double)fVar56 * *(double *)(iVar6 + -0x62d8))" ( (binary_expression "(double)fVar56 * *(double *)(iVar6 + -0x62d8)" (cast_expression "(double)fVar56" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(iVar6 + -0x62d8)" * (cast_expression "(double *)(iVar6 + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x62d8)" ( (binary_expression "iVar6 + -0x62d8" identifier + number_literal) ))))) )) / (pointer_expression "*(double *)(iVar23 + 0x1a58)" * (cast_expression "(double *)(iVar23 + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1a58)" ( (binary_expression "iVar23 + 0x1a58" identifier + number_literal) )))))) ;) (if_statement "if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }" if (parenthesized_expression "(dVar55 < *(double *)(iVar19 + 0x1a60))" ( (binary_expression "dVar55 < *(double *)(iVar19 + 0x1a60)" identifier < (pointer_expression "*(double *)(iVar19 + 0x1a60)" * (cast_expression "(double *)(iVar19 + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1a60)" ( (binary_expression "iVar19 + 0x1a60" identifier + number_literal) ))))) )) (compound_statement "{\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" ( (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar21 = bVar21 | extraout_v1_10;" (assignment_expression "bVar21 = bVar21 | extraout_v1_10" identifier = (binary_expression "bVar21 | extraout_v1_10" identifier | identifier)) ;) }) (else_clause "else {\n                bVar21 = 0xff;\n              }" else (compound_statement "{\n                bVar21 = 0xff;\n              }" { (expression_statement "bVar21 = 0xff;" (assignment_expression "bVar21 = 0xff" identifier = number_literal) ;) }))) })) (expression_statement "fVar56 = pfVar27[0xaf];" (assignment_expression "fVar56 = pfVar27[0xaf]" identifier = (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ])) ;) (expression_statement "*pbVar46 = bVar21;" (assignment_expression "*pbVar46 = bVar21" (pointer_expression "*pbVar46" * identifier) = identifier) ;) (if_statement "if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }" if (parenthesized_expression "((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48)))" ( (binary_expression "(fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))" (parenthesized_expression "(fVar56 != 0.0)" ( (binary_expression "fVar56 != 0.0" identifier != number_literal) )) && (parenthesized_expression "(fVar28 < (float)*(double *)(iVar51 + 0x48))" ( (binary_expression "fVar28 < (float)*(double *)(iVar51 + 0x48)" identifier < (cast_expression "(float)*(double *)(iVar51 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x48)" * (cast_expression "(double *)(iVar51 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x48)" ( (binary_expression "iVar51 + 0x48" identifier + number_literal) )))))) ))) )) (compound_statement "{\n              bVar36 = bVar36 | 0x80;\n            }" { (expression_statement "bVar36 = bVar36 | 0x80;" (assignment_expression "bVar36 = bVar36 | 0x80" identifier = (binary_expression "bVar36 | 0x80" identifier | number_literal)) ;) })) (if_statement "if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" if (parenthesized_expression "(0.0 < (float)*(double *)(iVar51 + 0x28))" ( (binary_expression "0.0 < (float)*(double *)(iVar51 + 0x28)" number_literal < (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) )))))) )) (compound_statement "{\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" { (expression_statement "dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;" (assignment_expression "dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57" identifier = (binary_expression "((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57" (parenthesized_expression "((double)(float)*(double *)(iVar51 + 0x28) * dVar54)" ( (binary_expression "(double)(float)*(double *)(iVar51 + 0x28) * dVar54" (cast_expression "(double)(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) )))))) * identifier) )) / identifier)) ;) (if_statement "if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }" if (parenthesized_expression "(dVar66 <= dVar55)" ( (binary_expression "dVar66 <= dVar55" identifier <= identifier) )) (compound_statement "{\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }" { (expression_statement "pbVar24 = pbVar46 + 2;" (assignment_expression "pbVar24 = pbVar46 + 2" identifier = (binary_expression "pbVar46 + 2" identifier + number_literal)) ;) (expression_statement "pbVar46[1] = bVar36 | 0xfc;" (assignment_expression "pbVar46[1] = bVar36 | 0xfc" (subscript_expression "pbVar46[1]" identifier [ number_literal ]) = (binary_expression "bVar36 | 0xfc" identifier | number_literal)) ;) (goto_statement "goto LAB_002b97b4;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" ( (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);" (assignment_expression "bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2)" identifier = (binary_expression "bVar36 | (byte)((extraout_v1_09 & 0xff) << 2)" identifier | (call_expression "(byte)((extraout_v1_09 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_09 & 0xff) << 2)" ( (binary_expression "(extraout_v1_09 & 0xff) << 2" (parenthesized_expression "(extraout_v1_09 & 0xff)" ( (binary_expression "extraout_v1_09 & 0xff" identifier & number_literal) )) << number_literal) ))))) ;) })) (expression_statement "pbVar46[1] = bVar36;" (assignment_expression "pbVar46[1] = bVar36" (subscript_expression "pbVar46[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar24 = pbVar46 + 2;" (assignment_expression "pbVar24 = pbVar46 + 2" identifier = (binary_expression "pbVar46 + 2" identifier + number_literal)) ;) }) (else_clause "else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" else (compound_statement "{\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (if_statement "if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" if (parenthesized_expression "(0.0 < fVar56)" ( (binary_expression "0.0 < fVar56" number_literal < identifier) )) (compound_statement "{\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" { (if_statement "if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" if (parenthesized_expression "((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8))" ( (binary_expression "(double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)" (binary_expression "(double)fVar56 / dVar68" (cast_expression "(double)fVar56" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) < (pointer_expression "*(double *)(iVar37 + -0x5ae8)" * (cast_expression "(double *)(iVar37 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5ae8)" ( (binary_expression "iVar37 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }" { (expression_statement "dVar58 = *(double *)(iVar48 + 0x1410);" (assignment_expression "dVar58 = *(double *)(iVar48 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar48 + 0x1410)" * (cast_expression "(double *)(iVar48 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar48 + 0x1410)" ( (binary_expression "iVar48 + 0x1410" identifier + number_literal) ))))) ;) (expression_statement "dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);" (assignment_expression "dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400)" identifier = (binary_expression "(double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400)" (binary_expression "(double)fVar56 / dVar68" (cast_expression "(double)fVar56" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) + (pointer_expression "*(double *)(iVar49 + 0x1400)" * (cast_expression "(double *)(iVar49 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1400)" ( (binary_expression "iVar49 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" if (parenthesized_expression "(dVar55 < dVar58)" ( (binary_expression "dVar55 < dVar58" identifier < identifier) )) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" { (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" identifier = (cast_expression "(byte)(int)dVar55" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar55" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" else (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" { (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar58);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar58)" identifier = (call_expression "(byte)(int)(dVar55 - dVar58)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar55 - dVar58)" ( (binary_expression "dVar55 - dVar58" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar36 = 0xff;\n              }" else (compound_statement "{\n                bVar36 = 0xff;\n              }" { (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" identifier = number_literal) ;) }))) })) (expression_statement "*pbVar46 = bVar36;" (assignment_expression "*pbVar46 = bVar36" (pointer_expression "*pbVar46" * identifier) = identifier) ;) (if_statement "if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" if (parenthesized_expression "((float)*(double *)(iVar51 + 0x30) <= 0.0)" ( (binary_expression "(float)*(double *)(iVar51 + 0x30) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) ))))) <= number_literal) )) (compound_statement "{\n              bVar36 = 0;\n            }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" else (compound_statement "{\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" { (expression_statement "dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;" (assignment_expression "dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69" identifier = (binary_expression "(double)(float)*(double *)(iVar51 + 0x30) / dVar69" (cast_expression "(double)(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x30)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x30)" * (cast_expression "(double *)(iVar51 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x30)" ( (binary_expression "iVar51 + 0x30" identifier + number_literal) )))))) / identifier)) ;) (if_statement "if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" if (parenthesized_expression "(dVar55 < dVar62)" ( (binary_expression "dVar55 < dVar62" identifier < identifier) )) (compound_statement "{\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }" { (expression_statement "dVar55 = dVar55 + dVar65;" (assignment_expression "dVar55 = dVar55 + dVar65" identifier = (binary_expression "dVar55 + dVar65" identifier + identifier)) ;) (if_statement "if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" if (parenthesized_expression "(dVar55 < dVar61)" ( (binary_expression "dVar55 < dVar61" identifier < identifier) )) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" { (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" identifier = (cast_expression "(byte)(int)dVar55" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar55" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" else (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" { (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar61);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar61)" identifier = (call_expression "(byte)(int)(dVar55 - dVar61)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar55 - dVar61)" ( (binary_expression "dVar55 - dVar61" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar36 = 0xff;\n              }" else (compound_statement "{\n                bVar36 = 0xff;\n              }" { (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "pbVar46[1] = bVar36;" (assignment_expression "pbVar46[1] = bVar36" (subscript_expression "pbVar46[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar24 = pbVar46 + 3;" (assignment_expression "pbVar24 = pbVar46 + 3" identifier = (binary_expression "pbVar46 + 3" identifier + number_literal)) ;) (if_statement "if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" if (parenthesized_expression "((float)*(double *)(iVar51 + 0x28) <= 0.0)" ( (binary_expression "(float)*(double *)(iVar51 + 0x28) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) ))))) <= number_literal) )) (compound_statement "{\n              bVar36 = 0;\n            }" { (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" else (compound_statement "{\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" { (expression_statement "dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;" (assignment_expression "dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60" identifier = (binary_expression "(double)(float)*(double *)(iVar51 + 0x28) / dVar60" (cast_expression "(double)(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(iVar51 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar51 + 0x28)" * (cast_expression "(double *)(iVar51 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x28)" ( (binary_expression "iVar51 + 0x28" identifier + number_literal) )))))) / identifier)) ;) (if_statement "if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" if (parenthesized_expression "(dVar55 < dVar63)" ( (binary_expression "dVar55 < dVar63" identifier < identifier) )) (compound_statement "{\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }" { (expression_statement "dVar55 = dVar55 + dVar65;" (assignment_expression "dVar55 = dVar55 + dVar65" identifier = (binary_expression "dVar55 + dVar65" identifier + identifier)) ;) (if_statement "if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" if (parenthesized_expression "(dVar55 < dVar67)" ( (binary_expression "dVar55 < dVar67" identifier < identifier) )) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" { (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" identifier = (cast_expression "(byte)(int)dVar55" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(int)dVar55" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" else (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" { (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar67);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar67)" identifier = (call_expression "(byte)(int)(dVar55 - dVar67)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(int)" ( identifier ))) (argument_list "(dVar55 - dVar67)" ( (binary_expression "dVar55 - dVar67" identifier - identifier) )))) ;) }))) }) (else_clause "else {\n                bVar36 = 0xff;\n              }" else (compound_statement "{\n                bVar36 = 0xff;\n              }" { (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "pbVar46[2] = bVar36;" (assignment_expression "pbVar46[2] = bVar36" (subscript_expression "pbVar46[2]" identifier [ number_literal ]) = identifier) ;) }))) (labeled_statement "LAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);" statement_identifier : (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "iVar45 = iVar45 + 0x58;" (assignment_expression "iVar45 = iVar45 + 0x58" identifier = (binary_expression "iVar45 + 0x58" identifier + number_literal)) ;) (expression_statement "pbVar46 = pbVar24;" (assignment_expression "pbVar46 = pbVar24" identifier = identifier) ;) }) while (parenthesized_expression "(fVar39 != fVar38)" ( (binary_expression "fVar39 != fVar38" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);" (call_expression "(**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1e80))" ( (pointer_expression "**(code **)(puVar52 + 0xf1e80)" * (pointer_expression "*(code **)(puVar52 + 0xf1e80)" * (cast_expression "(code **)(puVar52 + 0xf1e80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1e80)" ( (binary_expression "puVar52 + 0xf1e80" identifier + number_literal) ))))) )) (argument_list "(pfVar27,(uVar18 >> 3) * uVar34,pbVar20)" ( identifier , (binary_expression "(uVar18 >> 3) * uVar34" (parenthesized_expression "(uVar18 >> 3)" ( (binary_expression "uVar18 >> 3" identifier >> number_literal) )) * identifier) , identifier ))) ;) (expression_statement "(**(code **)(puVar52 + 0xf14ac))(pbVar20);" (call_expression "(**(code **)(puVar52 + 0xf14ac))(pbVar20)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14ac))" ( (pointer_expression "**(code **)(puVar52 + 0xf14ac)" * (pointer_expression "*(code **)(puVar52 + 0xf14ac)" * (cast_expression "(code **)(puVar52 + 0xf14ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14ac)" ( (binary_expression "puVar52 + 0xf14ac" identifier + number_literal) ))))) )) (argument_list "(pbVar20)" ( identifier ))) ;) })) (expression_statement "fVar39 = pfVar27[0xb0];" (assignment_expression "fVar39 = pfVar27[0xb0]" identifier = (subscript_expression "pfVar27[0xb0]" identifier [ number_literal ])) ;) (if_statement "if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }" if (parenthesized_expression "(0 < (int)pfVar27[7])" ( (binary_expression "0 < (int)pfVar27[7]" number_literal < (cast_expression "(int)pfVar27[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[7]" identifier [ number_literal ]))) )) (compound_statement "{\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }" { (expression_statement "iVar37 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar37 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "iVar48 = (int)fVar39 * 4;" (assignment_expression "iVar48 = (int)fVar39 * 4" identifier = (binary_expression "(int)fVar39 * 4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "iVar23 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar23 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "dVar69 = *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar69 = *(double *)(iVar37 + -0x5af0)" identifier = (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar67 = *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar67 = *(double *)(iVar23 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "uStack_1c8 = 0;" (assignment_expression "uStack_1c8 = 0" identifier = number_literal) ;) (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" identifier = number_literal) ;) (expression_statement "fStack_1a0 = 0.0;" (assignment_expression "fStack_1a0 = 0.0" identifier = number_literal) ;) (do_statement "do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);" do (compound_statement "{\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);" (assignment_expression "iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" identifier = (call_expression "(**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1c50))" ( (pointer_expression "**(code **)(puVar52 + 0xf1c50)" * (pointer_expression "*(code **)(puVar52 + 0xf1c50)" * (cast_expression "(code **)(puVar52 + 0xf1c50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1c50)" ( (binary_expression "puVar52 + 0xf1c50" identifier + number_literal) ))))) )) (argument_list "(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" ( identifier , number_literal , identifier , (subscript_expression "pfVar27[6]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (if_statement "if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" if (parenthesized_expression "(fVar8 == 2.66247e-44)" ( (binary_expression "fVar8 == 2.66247e-44" identifier == number_literal) )) (compound_statement "{\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }" { (expression_statement "iVar45 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar45 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (if_statement "if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }" if (parenthesized_expression "(0 < (int)fVar50)" ( (binary_expression "0 < (int)fVar50" number_literal < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }" { (expression_statement "fStack_1ec = 0.0;" (assignment_expression "fStack_1ec = 0.0" identifier = number_literal) ;) (expression_statement "dVar60 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar60 = *(double *)(iVar45 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "iVar49 = 0;" (assignment_expression "iVar49 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);" do (compound_statement "{\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            }" { (expression_statement "iVar44 = 1;" (assignment_expression "iVar44 = 1" identifier = number_literal) ;) (expression_statement "iVar32 = iVar48;" (assignment_expression "iVar32 = iVar48" identifier = identifier) ;) (expression_statement "fVar59 = fStack_1ec;" (assignment_expression "fVar59 = fStack_1ec" identifier = identifier) ;) (expression_statement "iVar51 = iVar49;" (assignment_expression "iVar51 = iVar49" identifier = identifier) ;) (do_statement "do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);" do (compound_statement "{\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              }" { (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "fVar59 = (float)((int)fVar59 + 1);" (assignment_expression "fVar59 = (float)((int)fVar59 + 1)" identifier = (cast_expression "(float)((int)fVar59 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar59 + 1)" ( (binary_expression "(int)fVar59 + 1" (cast_expression "(int)fVar59" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" if (parenthesized_expression "((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59))" ( (binary_expression "(0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)" (parenthesized_expression "(0x7f < iVar51)" ( (binary_expression "0x7f < iVar51" number_literal < identifier) )) || (parenthesized_expression "((int)fVar50 <= (int)fVar59)" ( (binary_expression "(int)fVar50 <= (int)fVar59" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)fVar59" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" { (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" identifier = (binary_expression "iVar44 < 3" identifier < number_literal)) ;) (if_statement "if (!bVar1) goto LAB_002b8734;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_002b8734;" goto statement_identifier ;)) (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" identifier = (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" identifier * identifier) + identifier)) ;) (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" identifier = identifier) ;) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" identifier = identifier) ;) (if_statement "if (iVar51 == 0x80) goto LAB_002b8a88;" if (parenthesized_expression "(iVar51 == 0x80)" ( (binary_expression "iVar51 == 0x80" identifier == number_literal) )) (goto_statement "goto LAB_002b8a88;" goto statement_identifier ;)) (labeled_statement "LAB_002b8690:\n                  bVar1 = iVar44 < 3;" statement_identifier : (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" identifier = (binary_expression "iVar44 < 3" identifier < number_literal)) ;)) (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" identifier = identifier) ;) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" identifier = identifier) ;) (if_statement "if (fVar59 != fVar50) goto LAB_002b869c;" if (parenthesized_expression "(fVar59 != fVar50)" ( (binary_expression "fVar59 != fVar50" identifier != identifier) )) (goto_statement "goto LAB_002b869c;" goto statement_identifier ;)) (goto_statement "goto LAB_002b8a88;" goto statement_identifier ;) })) (expression_statement "fVar28 = pfVar27[0xb4];" (assignment_expression "fVar28 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" if (parenthesized_expression "(uVar26 == 9)" ( (binary_expression "uVar26 == 9" identifier == number_literal) )) (compound_statement "{\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }" { (if_statement "if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;" if (parenthesized_expression "((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)))" ( (binary_expression "(*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))" (parenthesized_expression "(*(int *)((int)fVar28 + 0x40) != 0)" ( (binary_expression "*(int *)((int)fVar28 + 0x40) != 0" (pointer_expression "*(int *)((int)fVar28 + 0x40)" * (cast_expression "(int *)((int)fVar28 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x40)" ( (binary_expression "(int)fVar28 + 0x40" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x44) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x44)" * (cast_expression "(int *)((int)fVar28 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x44)" ( (binary_expression "(int)fVar28 + 0x44" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" * (cast_expression "(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" ( (binary_expression "iVar19 + iVar32 + iVar29 + (int)fVar39 * -4" (binary_expression "iVar19 + iVar32 + iVar29" (binary_expression "iVar19 + iVar32" identifier + identifier) + identifier) + (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) != (pointer_expression "*(float *)(iVar19 + iVar32 + iVar29)" * (cast_expression "(float *)(iVar19 + iVar32 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar32 + iVar29)" ( (binary_expression "iVar19 + iVar32 + iVar29" (binary_expression "iVar19 + iVar32" identifier + identifier) + identifier) )))))) ))) )) (goto_statement "goto LAB_002b8680;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" { (expression_statement "iVar35 = iVar32 + (int)fVar39 * -4;" (assignment_expression "iVar35 = iVar32 + (int)fVar39 * -4" identifier = (binary_expression "iVar32 + (int)fVar39 * -4" identifier + (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "iVar29 = *(int *)((int)fVar28 + 0x20) * 4;" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x20) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x20)" * (cast_expression "(int *)((int)fVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x20)" ( (binary_expression "(int)fVar28 + 0x20" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ;) (if_statement "if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" if (parenthesized_expression "(uVar26 == 0xb)" ( (binary_expression "uVar26 == 0xb" identifier == number_literal) )) (compound_statement "{\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }" { (expression_statement "iVar41 = iVar32 + iVar19;" (assignment_expression "iVar41 = iVar32 + iVar19" identifier = (binary_expression "iVar32 + iVar19" identifier + identifier)) ;) (expression_statement "iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;" (assignment_expression "iVar35 = iVar19 + (int)fVar39 * -4 + iVar32" identifier = (binary_expression "iVar19 + (int)fVar39 * -4 + iVar32" (binary_expression "iVar19 + (int)fVar39 * -4" identifier + (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier)) ;) (expression_statement "iVar42 = *(int *)((int)fVar28 + 0x14) * 4;" (assignment_expression "iVar42 = *(int *)((int)fVar28 + 0x14) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x14)" * (cast_expression "(int *)((int)fVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x14)" ( (binary_expression "(int)fVar28 + 0x14" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ;) (expression_statement "iVar43 = *(int *)((int)fVar28 + 8) * 4;" (assignment_expression "iVar43 = *(int *)((int)fVar28 + 8) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 8) * 4" (pointer_expression "*(int *)((int)fVar28 + 8)" * (cast_expression "(int *)((int)fVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 8)" ( (binary_expression "(int)fVar28 + 8" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ;) (if_statement "if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;" if (parenthesized_expression "(*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64))" ( (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar35 + iVar29)" * (cast_expression "(float *)(iVar35 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + iVar29)" ( (binary_expression "iVar35 + iVar29" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar35 + iVar43)" * (cast_expression "(float *)(iVar35 + iVar43)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + iVar43)" ( (binary_expression "iVar35 + iVar43" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar35 + iVar42)" * (cast_expression "(float *)(iVar35 + iVar42)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + iVar42)" ( (binary_expression "iVar35 + iVar42" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) != (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar41 + iVar43)" * (cast_expression "(float *)(iVar41 + iVar43)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar43)" ( (binary_expression "iVar41 + iVar43" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar41 + iVar42)" * (cast_expression "(float *)(iVar41 + iVar42)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar42)" ( (binary_expression "iVar41 + iVar42" identifier + identifier) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) )) (goto_statement "goto LAB_002b8680;" goto statement_identifier ;)) }) (else_clause "else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" else (compound_statement "{\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" { (expression_statement "iVar41 = iVar19 + iVar32;" (assignment_expression "iVar41 = iVar19 + iVar32" identifier = (binary_expression "iVar19 + iVar32" identifier + identifier)) ;) (if_statement "if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" if (parenthesized_expression "((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))))" ( (binary_expression "(((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))" (parenthesized_expression "(((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" ( (binary_expression "((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" ( (binary_expression "(*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "(*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29))" ( (binary_expression "*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar35 + iVar29)" * (cast_expression "(float *)(iVar19 + iVar35 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar35 + iVar29)" ( (binary_expression "iVar19 + iVar35 + iVar29" (binary_expression "iVar19 + iVar35" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) ))))) )) || (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x14) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x14)" * (cast_expression "(int *)((int)fVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x14)" ( (binary_expression "(int)fVar28 + 0x14" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" * (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar29 + iVar35)" ( (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))))) ))) )) || (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 8) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 8) * 4" (pointer_expression "*(int *)((int)fVar28 + 8)" * (cast_expression "(int *)((int)fVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 8)" ( (binary_expression "(int)fVar28 + 8" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" * (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar29 + iVar35)" ( (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))))) ))) )) || (parenthesized_expression "(((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))" ( (parenthesized_expression "((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" ( (binary_expression "(pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "(pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0))" ( (binary_expression "pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)" (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(*(int *)((int)fVar28 + 0x34) != 0)" ( (binary_expression "*(int *)((int)fVar28 + 0x34) != 0" (pointer_expression "*(int *)((int)fVar28 + 0x34)" * (cast_expression "(int *)((int)fVar28 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x34)" ( (binary_expression "(int)fVar28 + 0x34" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" ( (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x38) * 4" identifier = (binary_expression "*(int *)((int)fVar28 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x38)" * (cast_expression "(int *)((int)fVar28 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar28 + 0x38)" ( (binary_expression "(int)fVar28 + 0x38" (cast_expression "(int)fVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) , (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" * (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar29 + iVar35)" ( (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" identifier + identifier) + identifier) )))) != (pointer_expression "*(float *)(iVar41 + iVar29)" * (cast_expression "(float *)(iVar41 + iVar29)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + iVar29)" ( (binary_expression "iVar41 + iVar29" identifier + identifier) )))))) ))) )) ))) )) (compound_statement "{\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" { (labeled_statement "LAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" statement_identifier : (if_statement "if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" if (parenthesized_expression "(iVar44 < 3)" ( (binary_expression "iVar44 < 3" identifier < number_literal) )) (compound_statement "{\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" { (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" identifier = (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" identifier * identifier) + identifier)) ;) (goto_statement "goto LAB_002b8690;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002b8734;" goto statement_identifier ;) })) }))) }))) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (expression_statement "iVar32 = iVar32 + iVar48;" (assignment_expression "iVar32 = iVar32 + iVar48" identifier = (binary_expression "iVar32 + iVar48" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar44 != 0x80)" ( (binary_expression "iVar44 != 0x80" identifier != number_literal) )) ;) (expression_statement "fVar59 = (float)((int)fStack_1ec + 0x80);" (assignment_expression "fVar59 = (float)((int)fStack_1ec + 0x80)" identifier = (cast_expression "(float)((int)fStack_1ec + 0x80)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fStack_1ec + 0x80)" ( (binary_expression "(int)fStack_1ec + 0x80" (cast_expression "(int)fStack_1ec" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_002b8734:\n              bVar1 = iVar44 < 3;" statement_identifier : (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" identifier = (binary_expression "iVar44 < 3" identifier < number_literal)) ;)) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" identifier = identifier) ;) (if_statement "if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" if (parenthesized_expression "(iVar49 == 0)" ( (binary_expression "iVar49 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }" { (labeled_statement "LAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,iVar44 - 1U & 0x7f | 0x80)" ( identifier , (binary_expression "iVar44 - 1U & 0x7f | 0x80" (binary_expression "iVar44 - 1U & 0x7f" (binary_expression "iVar44 - 1U" identifier - number_literal) & number_literal) | number_literal) ))) ;)) (if_statement "if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" if (parenthesized_expression "((uVar26 & 3) == 1)" ( (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }" { (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x40) == 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x40) == 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x40)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x40)" ( (binary_expression "(int)pfVar27[0xb4] + 0x40" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002b8944:\n                    uVar17 = 0;\n                  }" { (labeled_statement "LAB_002b8944:\n                    uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" else (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x44) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x44)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x44)" ( (binary_expression "(int)pfVar27[0xb4] + 0x44" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" if (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                      uVar17 = (int)fVar50 & 0xff;\n                    }" { (expression_statement "uVar17 = (int)fVar50 & 0xff;" (assignment_expression "uVar17 = (int)fVar50 & 0xff" identifier = (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" else (compound_statement "{\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" { (expression_statement "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;" (assignment_expression "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff" identifier = (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" else (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (expression_statement "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x20) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" if (parenthesized_expression "((uVar26 & 3) == 3)" ( (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" { (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8944;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8944;" goto statement_identifier ;)) (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }" { (expression_statement "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" if (parenthesized_expression "(dVar62 < dVar65)" ( (binary_expression "dVar62 < dVar65" identifier < identifier) )) (compound_statement "{\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (labeled_statement "LAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;" statement_identifier : (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }) (else_clause "else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" else (compound_statement "{\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" { (labeled_statement "LAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;" statement_identifier : (expression_statement "uVar17 = (int)(dVar62 - dVar65) & 0xff;" (assignment_expression "uVar17 = (int)(dVar62 - dVar65) & 0xff" identifier = (binary_expression "(int)(dVar62 - dVar65) & 0xff" (cast_expression "(int)(dVar62 - dVar65)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar62 - dVar65)" ( (binary_expression "dVar62 - dVar65" identifier - identifier) ))) & number_literal)) ;)) }))) }) (else_clause "else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" else (compound_statement "{\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" { (labeled_statement "LAB_002b93cc:\n                      uVar17 = 0xff;" statement_identifier : (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_002b8948;" goto statement_identifier ;) })) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" if (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" ( (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" { (expression_statement "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar18 = (extraout_v1_05 & 0xff) << 5;" (assignment_expression "uVar18 = (extraout_v1_05 & 0xff) << 5" identifier = (binary_expression "(extraout_v1_05 & 0xff) << 5" (parenthesized_expression "(extraout_v1_05 & 0xff)" ( (binary_expression "extraout_v1_05 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_05 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_05 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_05 & 0xff)" ( (binary_expression "extraout_v1_05 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar34 = (uint)(char)uVar18;" (assignment_expression "uVar34 = (uint)(char)uVar18" identifier = (cast_expression "(uint)(char)uVar18" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" else (compound_statement "{\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" { (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (expression_statement "uVar34 = 0xffffffe0;" (assignment_expression "uVar34 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar18 = 0x1fe0;" (assignment_expression "uVar18 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" if (parenthesized_expression "(NAN(fVar59))" ( (call_expression "NAN(fVar59)" identifier (argument_list "(fVar59)" ( identifier ))) )) (compound_statement "{\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }" { (labeled_statement "LAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;" statement_identifier : (expression_statement "uVar34 = uVar34 & 0xff;" (assignment_expression "uVar34 = uVar34 & 0xff" identifier = (binary_expression "uVar34 & 0xff" identifier & number_literal)) ;)) }) (else_clause "else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" else (if_statement "if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" if (parenthesized_expression "(0.0 < fVar59)" ( (binary_expression "0.0 < fVar59" number_literal < identifier) )) (compound_statement "{\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }" { (expression_statement "dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar34 = uVar34 | extraout_v1_06;" (assignment_expression "uVar34 = uVar34 | extraout_v1_06" identifier = (binary_expression "uVar34 | extraout_v1_06" identifier | identifier)) ;) (goto_statement "goto LAB_002b94d4;" goto statement_identifier ;) })) (expression_statement "uVar34 = 0xff;" (assignment_expression "uVar34 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar34 = uVar18 & 0xff;\n                    }" else (compound_statement "{\n                      uVar34 = uVar18 & 0xff;\n                    }" { (expression_statement "uVar34 = uVar18 & 0xff;" (assignment_expression "uVar34 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar34)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }" if (parenthesized_expression "((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))))" ( (binary_expression "(pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))" (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))" ( (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))" ( (binary_expression "*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) || (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" ( (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ))) )) ))) )) (compound_statement "{\n                      uVar17 = uVar17 | 0xffffff80;\n                    }" { (expression_statement "uVar17 = uVar17 | 0xffffff80;" (assignment_expression "uVar17 = uVar17 | 0xffffff80" identifier = (binary_expression "uVar17 | 0xffffff80" identifier | number_literal)) ;) })) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }" { (expression_statement "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));" (assignment_expression "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" ( (binary_expression "(byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2)" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_07 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_07 & 0xff) << 2)" ( (binary_expression "(extraout_v1_07 & 0xff) << 2" (parenthesized_expression "(extraout_v1_07 & 0xff)" ( (binary_expression "extraout_v1_07 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" else (compound_statement "{\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" { (expression_statement "uVar17 = uVar17 | 0xfffffffc;" (assignment_expression "uVar17 = uVar17 | 0xfffffffc" identifier = (binary_expression "uVar17 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" else (compound_statement "{\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" { (if_statement "if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar59 <= 0.0)" ( (binary_expression "fVar59 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" { (expression_statement "dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" ( (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" else (compound_statement "{\n                        uVar17 = 0xff;\n                      }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" ( (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" { (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" ( (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" else (compound_statement "{\n                        uVar17 = 0xff;\n                      }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 8)" ( (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                      uVar17 = 0;\n                    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" else (compound_statement "{\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" { (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" if (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" { (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" if (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" ( (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) <= identifier) )) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" { (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier - (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" identifier = (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" else (compound_statement "{\n                        uVar17 = 0xff;\n                      }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" if (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" ( (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) != number_literal) )) (compound_statement "{\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" ( (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" { (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" if (parenthesized_expression "(dVar62 < dVar60)" ( (binary_expression "dVar62 < dVar60" identifier < identifier) )) (compound_statement "{\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" { (expression_statement "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar65 <= dVar62) goto LAB_002b89a4;" if (parenthesized_expression "(dVar65 <= dVar62)" ( (binary_expression "dVar65 <= dVar62" identifier <= identifier) )) (goto_statement "goto LAB_002b89a4;" goto statement_identifier ;)) (goto_statement "goto LAB_002b8a58;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b93cc;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b8944;" goto statement_identifier ;) })) (goto_statement "goto LAB_002b8948;" goto statement_identifier ;) })) }))) }))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" identifier = (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" identifier * identifier) + identifier)) ;) }) (else_clause "else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" else (compound_statement "{\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" { (labeled_statement "LAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);" statement_identifier : (expression_statement "iVar51 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar51 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;)) (expression_statement "uVar17 = iVar49 - 1;" (assignment_expression "uVar17 = iVar49 - 1" identifier = (binary_expression "iVar49 - 1" identifier - number_literal)) ;) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) (expression_statement "iVar49 = iVar19 - iVar49 * iVar48;" (assignment_expression "iVar49 = iVar19 - iVar49 * iVar48" identifier = (binary_expression "iVar19 - iVar49 * iVar48" identifier - (binary_expression "iVar49 * iVar48" identifier * identifier))) ;) (expression_statement "dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" identifier = (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar65 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar65 = *(double *)(iVar45 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) ;) (do_statement "do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);" do (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" if (parenthesized_expression "((uVar26 & 3) == 1)" ( (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }" { (if_statement "if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" if (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x40) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" * (cast_expression "(int *)((int)fVar50 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x40)" ( (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }" { (labeled_statement "LAB_002b8cac:\n                      uVar18 = 0;" statement_identifier : (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" else (compound_statement "{\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" { (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x44) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" * (cast_expression "(int *)((int)fVar50 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x44)" ( (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" if (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                        uVar18 = (int)fVar50 & 0xff;\n                      }" { (expression_statement "uVar18 = (int)fVar50 & 0xff;" (assignment_expression "uVar18 = (int)fVar50 & 0xff" identifier = (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" else (compound_statement "{\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" { (expression_statement "uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;" (assignment_expression "uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" identifier = (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" { (expression_statement "fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x20) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" if (parenthesized_expression "((uVar26 & 3) == 3)" ( (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" { (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8cac;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8cac;" goto statement_identifier ;)) (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }" { (expression_statement "uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;" (assignment_expression "uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff" identifier = (binary_expression "(int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff" (cast_expression "(int)(dVar66 - *(double *)(iVar51 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar66 - *(double *)(iVar51 + 0x1410))" ( (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) ))))) ))) & number_literal)) ;) }) (else_clause "else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" else (compound_statement "{\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (labeled_statement "LAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;" statement_identifier : (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }))) }) (else_clause "else {\n                        uVar18 = 0xff;\n                      }" else (compound_statement "{\n                        uVar18 = 0xff;\n                      }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002b8cb0;" goto statement_identifier ;) })) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" if (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" ( (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }" { (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" { (expression_statement "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar34 = (extraout_v1_02 & 0xff) << 5;" (assignment_expression "uVar34 = (extraout_v1_02 & 0xff) << 5" identifier = (binary_expression "(extraout_v1_02 & 0xff) << 5" (parenthesized_expression "(extraout_v1_02 & 0xff)" ( (binary_expression "extraout_v1_02 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_02 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1_02 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_02 & 0xff)" ( (binary_expression "extraout_v1_02 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar30 = (uint)(char)uVar34;" (assignment_expression "uVar30 = (uint)(char)uVar34" identifier = (cast_expression "(uint)(char)uVar34" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar34" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" else (compound_statement "{\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" { (expression_statement "uVar18 = 3;" (assignment_expression "uVar18 = 3" identifier = number_literal) ;) (expression_statement "uVar30 = 0xffffffe0;" (assignment_expression "uVar30 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar34 = 0x1fe0;" (assignment_expression "uVar34 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" if (parenthesized_expression "(NAN(fVar59))" ( (call_expression "NAN(fVar59)" identifier (argument_list "(fVar59)" ( identifier ))) )) (compound_statement "{\n                        uVar30 = uVar30 & 0xff;\n                      }" { (expression_statement "uVar30 = uVar30 & 0xff;" (assignment_expression "uVar30 = uVar30 & 0xff" identifier = (binary_expression "uVar30 & 0xff" identifier & number_literal)) ;) }) (else_clause "else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" else (if_statement "if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" if (parenthesized_expression "(0.0 < fVar59)" ( (binary_expression "0.0 < fVar59" number_literal < identifier) )) (compound_statement "{\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar30 = (uVar30 | extraout_v1_03) & 0xff;" (assignment_expression "uVar30 = (uVar30 | extraout_v1_03) & 0xff" identifier = (binary_expression "(uVar30 | extraout_v1_03) & 0xff" (parenthesized_expression "(uVar30 | extraout_v1_03)" ( (binary_expression "uVar30 | extraout_v1_03" identifier | identifier) )) & number_literal)) ;) }) (else_clause "else {\n                          uVar30 = 0xff;\n                        }" else (compound_statement "{\n                          uVar30 = 0xff;\n                        }" { (expression_statement "uVar30 = 0xff;" (assignment_expression "uVar30 = 0xff" identifier = number_literal) ;) }))) }) (else_clause "else {\n                        uVar30 = uVar34 & 0xff;\n                      }" else (compound_statement "{\n                        uVar30 = uVar34 & 0xff;\n                      }" { (expression_statement "uVar30 = uVar34 & 0xff;" (assignment_expression "uVar30 = uVar34 & 0xff" identifier = (binary_expression "uVar34 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar30)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" if (parenthesized_expression "(pfVar27[0xaf] == 0.0)" ( (binary_expression "pfVar27[0xaf] == 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                        fVar50 = pfVar27[0xb4];\n                      }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" else (compound_statement "{\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }" if (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)))" ( (binary_expression "(*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))" (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))" ( (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ))) )) (compound_statement "{\n                          uVar18 = uVar18 | 0xffffff80;\n                        }" { (expression_statement "uVar18 = uVar18 | 0xffffff80;" (assignment_expression "uVar18 = uVar18 | 0xffffff80" identifier = (binary_expression "uVar18 | 0xffffff80" identifier | number_literal)) ;) })) }))) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar49 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }" { (expression_statement "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;" (assignment_expression "uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" ( (binary_expression "(byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2)" (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_04 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_04 & 0xff) << 2)" ( (binary_expression "(extraout_v1_04 & 0xff) << 2" (parenthesized_expression "(extraout_v1_04 & 0xff)" ( (binary_expression "extraout_v1_04 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" else (compound_statement "{\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" { (expression_statement "uVar18 = uVar18 | 0xfffffffc;" (assignment_expression "uVar18 = uVar18 | 0xfffffffc" identifier = (binary_expression "uVar18 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18 & 0xff)" ( identifier , (binary_expression "uVar18 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" else (compound_statement "{\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" { (if_statement "if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar59 <= 0.0)" ( (binary_expression "fVar59 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" { (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" identifier = (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" else (compound_statement "{\n                          uVar18 = 0xff;\n                        }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" ( (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" { (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" identifier = (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" else (compound_statement "{\n                          uVar18 = 0xff;\n                        }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 8)" ( (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                        uVar18 = 0;\n                      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" else (compound_statement "{\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" { (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" if (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" { (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" if (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" ( (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" { (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" identifier = (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar51 + 0x1410)" * (cast_expression "(double *)(iVar51 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + 0x1410)" ( (binary_expression "iVar51 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" identifier = (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" else (compound_statement "{\n                          uVar18 = 0xff;\n                        }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar18)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" if (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" { (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" ( (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) != number_literal) )) (compound_statement "{\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }" { (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" identifier = (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" * (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" ( (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8cac;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8cac;" goto statement_identifier ;)) (expression_statement "dVar66 = (double)fVar50 / dVar69;" (assignment_expression "dVar66 = (double)fVar50 / dVar69" identifier = (binary_expression "(double)fVar50 / dVar69" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }" if (parenthesized_expression "(dVar66 < dVar65)" ( (binary_expression "dVar66 < dVar65" identifier < identifier) )) (compound_statement "{\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }" { (expression_statement "dVar66 = dVar66 + dVar67;" (assignment_expression "dVar66 = dVar66 + dVar67" identifier = (binary_expression "dVar66 + dVar67" identifier + identifier)) ;) (if_statement "if (dVar66 < dVar62) goto LAB_002b9048;" if (parenthesized_expression "(dVar66 < dVar62)" ( (binary_expression "dVar66 < dVar62" identifier < identifier) )) (goto_statement "goto LAB_002b9048;" goto statement_identifier ;)) (expression_statement "uVar18 = (int)(dVar66 - dVar62) & 0xff;" (assignment_expression "uVar18 = (int)(dVar66 - dVar62) & 0xff" identifier = (binary_expression "(int)(dVar66 - dVar62) & 0xff" (cast_expression "(int)(dVar66 - dVar62)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar66 - dVar62)" ( (binary_expression "dVar66 - dVar62" identifier - identifier) ))) & number_literal)) ;) })) })) (goto_statement "goto LAB_002b8cb0;" goto statement_identifier ;) })) }))) }))) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" identifier = (binary_expression "uVar17 - 1" identifier - number_literal)) ;) (expression_statement "iVar49 = iVar49 + iVar48;" (assignment_expression "iVar49 = iVar49 + iVar48" identifier = (binary_expression "iVar49 + iVar48" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar17 != 0xffffffff)" ( (binary_expression "uVar17 != 0xffffffff" identifier != number_literal) )) ;) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (if_statement "if (!bVar1) goto LAB_002b873c;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_002b873c;" goto statement_identifier ;)) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" identifier = (subscript_expression "pfVar27[6]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_002b869c:\n              iVar49 = iVar51;" statement_identifier : (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" identifier = identifier) ;)) }) while (parenthesized_expression "((int)fStack_1ec < (int)fVar50)" ( (binary_expression "(int)fStack_1ec < (int)fVar50" (cast_expression "(int)fStack_1ec" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" else (if_statement "if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" if (parenthesized_expression "(0 < (int)fVar50)" ( (binary_expression "0 < (int)fVar50" number_literal < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" { (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (expression_statement "iVar45 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar45 = *(int *)(puVar52 + 0xf0dd4)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) ))))) ;) (expression_statement "iVar49 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar49 = *(int *)(puVar52 + 0xf0dcc)" identifier = (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) ))))) ;) (expression_statement "dVar65 = *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar65 = *(double *)(iVar37 + -0x5af0)" identifier = (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) ))))) ;) (expression_statement "dVar66 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar66 = *(double *)(iVar45 + -0x5ae8)" identifier = (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) ;) (expression_statement "dVar62 = *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = *(double *)(iVar23 + 0x1400)" identifier = (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar60 = *(double *)(iVar49 + 0x1410)" identifier = (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) ))))) ;) (do_statement "do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);" do (compound_statement "{\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" if (parenthesized_expression "((uVar26 & 3) == 1)" ( (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }" { (if_statement "if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" if (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x40) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" * (cast_expression "(int *)((int)fVar50 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x40)" ( (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002b8324:\n                uVar17 = 0;\n              }" { (labeled_statement "LAB_002b8324:\n                uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" else (compound_statement "{\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x44) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" * (cast_expression "(int *)((int)fVar50 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x44)" ( (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" if (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier < (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                  uVar17 = (int)fVar50 & 0xff;\n                }" { (expression_statement "uVar17 = (int)fVar50 & 0xff;" (assignment_expression "uVar17 = (int)fVar50 & 0xff" identifier = (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" else (compound_statement "{\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" { (expression_statement "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;" (assignment_expression "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff" identifier = (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" ( (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" identifier - (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" * (cast_expression "(int *)(puVar52 + 0xf0dd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd0)" ( (binary_expression "puVar52 + 0xf0dd0" identifier + number_literal) )))) + number_literal) ))))) ))) & number_literal)) ;) }))) }))) (labeled_statement "LAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" statement_identifier : (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" else (compound_statement "{\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" { (expression_statement "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x20) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" * (cast_expression "(int *)((int)fVar50 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x20)" ( (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" if (parenthesized_expression "((uVar26 & 3) == 3)" ( (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" ( (binary_expression "uVar26 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" { (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" identifier = (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" identifier * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) )))))) + (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) * (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" * (cast_expression "(int *)(puVar52 + 0xf0dd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd4)" ( (binary_expression "puVar52 + 0xf0dd4" identifier + number_literal) )))) + number_literal) ))))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8324;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8324;" goto statement_identifier ;)) (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }" { (expression_statement "uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;" (assignment_expression "uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff" identifier = (binary_expression "(int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff" (cast_expression "(int)(dVar54 - *(double *)(iVar49 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar54 - *(double *)(iVar49 + 0x1410))" ( (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) ))))) ))) & number_literal)) ;) }) (else_clause "else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" else (compound_statement "{\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (labeled_statement "LAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;" statement_identifier : (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;)) }))) }) (else_clause "else {\n                  uVar17 = 0xff;\n                }" else (compound_statement "{\n                  uVar17 = 0xff;\n                }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) (goto_statement "goto LAB_002b8328;" goto statement_identifier ;) })) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" if (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" ( (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" * (cast_expression "(int *)((int)fVar50 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x14)" ( (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" { (expression_statement "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar18 = (extraout_v1 & 0xff) << 5;" (assignment_expression "uVar18 = (extraout_v1 & 0xff) << 5" identifier = (binary_expression "(extraout_v1 & 0xff) << 5" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal)) ;) (expression_statement "uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e" identifier = (binary_expression "((extraout_v1 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1 & 0xff) << 0x1b)" ( (binary_expression "(extraout_v1 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) )) >> number_literal)) ;) (expression_statement "uVar34 = (uint)(char)uVar18;" (assignment_expression "uVar34 = (uint)(char)uVar18" identifier = (cast_expression "(uint)(char)uVar18" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar18" ( (type_descriptor "char" primitive_type) ) identifier))) ;) }) (else_clause "else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" else (compound_statement "{\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" { (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (expression_statement "uVar34 = 0xffffffe0;" (assignment_expression "uVar34 = 0xffffffe0" identifier = number_literal) ;) (expression_statement "uVar18 = 0x1fe0;" (assignment_expression "uVar18 = 0x1fe0" identifier = number_literal) ;) }))) }))) (if_statement "if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" if (parenthesized_expression "(NAN(fVar59))" ( (call_expression "NAN(fVar59)" identifier (argument_list "(fVar59)" ( identifier ))) )) (compound_statement "{\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }" { (labeled_statement "LAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;" statement_identifier : (expression_statement "uVar34 = uVar34 & 0xff;" (assignment_expression "uVar34 = uVar34 & 0xff" identifier = (binary_expression "uVar34 & 0xff" identifier & number_literal)) ;)) }) (else_clause "else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" else (if_statement "if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" if (parenthesized_expression "(0.0 < fVar59)" ( (binary_expression "0.0 < fVar59" number_literal < identifier) )) (compound_statement "{\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }" { (expression_statement "dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar34 = uVar34 | extraout_v1_00;" (assignment_expression "uVar34 = uVar34 | extraout_v1_00" identifier = (binary_expression "uVar34 | extraout_v1_00" identifier | identifier)) ;) (goto_statement "goto LAB_002b8f78;" goto statement_identifier ;) })) (expression_statement "uVar34 = 0xff;" (assignment_expression "uVar34 = 0xff" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar34 = uVar18 & 0xff;\n                }" else (compound_statement "{\n                  uVar34 = uVar18 & 0xff;\n                }" { (expression_statement "uVar34 = uVar18 & 0xff;" (assignment_expression "uVar34 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) }))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar34)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" if (parenthesized_expression "(pfVar27[0xaf] == 0.0)" ( (binary_expression "pfVar27[0xaf] == 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" else (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" { (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" identifier = (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }" if (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))" ( (binary_expression "(*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0)" ( (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" * (cast_expression "(int *)((int)fVar50 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x34)" ( (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" ( (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" * (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))) < (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x38) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" * (cast_expression "(int *)((int)fVar50 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 0x38)" ( (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ))) )) (compound_statement "{\n                    uVar17 = uVar17 | 0xffffff80;\n                  }" { (expression_statement "uVar17 = uVar17 | 0xffffff80;" (assignment_expression "uVar17 = uVar17 | 0xffffff80" identifier = (binary_expression "uVar17 | 0xffffff80" identifier | number_literal)) ;) })) }))) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" identifier + (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" * (cast_expression "(int *)((int)fVar50 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar50 + 8)" ( (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }" if (parenthesized_expression "(0.0 < fVar50)" ( (binary_expression "0.0 < fVar50" number_literal < identifier) )) (compound_statement "{\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }" { (expression_statement "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" identifier = (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" ( (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" ( (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) ))))) )) / (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" ( (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" identifier < (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" * (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" ( (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }" { (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" ( (pointer_expression "**(code **)(puVar52 + 0xf0e40)" * (pointer_expression "*(code **)(puVar52 + 0xf0e40)" * (cast_expression "(code **)(puVar52 + 0xf0e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf0e40)" ( (binary_expression "puVar52 + 0xf0e40" identifier + number_literal) ))))) )) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" ( (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) ))))) ))) ;) (expression_statement "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));" (assignment_expression "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" identifier = (call_expression "(uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) (argument_list "((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" ( (binary_expression "(byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2)" (cast_expression "(byte)uVar17" ( (type_descriptor "byte" type_identifier) ) identifier) | (call_expression "(byte)((extraout_v1_01 & 0xff) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1_01 & 0xff) << 2)" ( (binary_expression "(extraout_v1_01 & 0xff) << 2" (parenthesized_expression "(extraout_v1_01 & 0xff)" ( (binary_expression "extraout_v1_01 & 0xff" identifier & number_literal) )) << number_literal) )))) )))) ;) }) (else_clause "else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" else (compound_statement "{\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" { (expression_statement "uVar17 = uVar17 | 0xfffffffc;" (assignment_expression "uVar17 = uVar17 | 0xfffffffc" identifier = (binary_expression "uVar17 | 0xfffffffc" identifier | number_literal)) ;) }))) })) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17 & 0xff)" ( identifier , (binary_expression "uVar17 & 0xff" identifier & number_literal) ))) ;) }) (else_clause "else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" else (compound_statement "{\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" { (if_statement "if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar59 <= 0.0)" ( (binary_expression "fVar59 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" { (expression_statement "dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" { (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" identifier = (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" else (compound_statement "{\n                    uVar17 = 0xff;\n                  }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" ( (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" { (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" { (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" identifier = (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" else (compound_statement "{\n                    uVar17 = 0xff;\n                  }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 8)" ( (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (compound_statement "{\n                  uVar17 = 0;\n                }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" else (compound_statement "{\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" { (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" identifier = (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / (pointer_expression "*(double *)(iVar37 + -0x5af0)" * (cast_expression "(double *)(iVar37 + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + -0x5af0)" ( (binary_expression "iVar37 + -0x5af0" identifier + number_literal) )))))) ;) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" if (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" ( (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" identifier < (pointer_expression "*(double *)(iVar45 + -0x5ae8)" * (cast_expression "(double *)(iVar45 + -0x5ae8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar45 + -0x5ae8)" ( (binary_expression "iVar45 + -0x5ae8" identifier + number_literal) ))))) )) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" { (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" identifier = (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" identifier + (pointer_expression "*(double *)(iVar23 + 0x1400)" * (cast_expression "(double *)(iVar23 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1400)" ( (binary_expression "iVar23 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" if (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" ( (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" { (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" identifier = (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" identifier - (pointer_expression "*(double *)(iVar49 + 0x1410)" * (cast_expression "(double *)(iVar49 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar49 + 0x1410)" ( (binary_expression "iVar49 + 0x1410" identifier + number_literal) )))))) ;) })) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" identifier = (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" ( (type_descriptor "int" primitive_type) ) identifier) & number_literal)) ;) }) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" else (compound_statement "{\n                    uVar17 = 0xff;\n                  }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) }))) }))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" ( (pointer_expression "**(code **)(puVar52 + 0xf14c8)" * (pointer_expression "*(code **)(puVar52 + 0xf14c8)" * (cast_expression "(code **)(puVar52 + 0xf14c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf14c8)" ( (binary_expression "puVar52 + 0xf14c8" identifier + number_literal) ))))) )) (argument_list "(pfVar27,uVar17)" ( identifier , identifier ))) ;) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" if (parenthesized_expression "(pfVar27[0xaf] != 0.0)" ( (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" { (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }" if (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" ( (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" ( (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }" { (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" identifier = (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" * (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" ( (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" identifier + (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" * (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" ( (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[0xb4]" identifier [ number_literal ])) + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8324;" if (parenthesized_expression "(fVar50 <= 0.0)" ( (binary_expression "fVar50 <= 0.0" identifier <= number_literal) )) (goto_statement "goto LAB_002b8324;" goto statement_identifier ;)) (expression_statement "dVar54 = (double)fVar50 / dVar65;" (assignment_expression "dVar54 = (double)fVar50 / dVar65" identifier = (binary_expression "(double)fVar50 / dVar65" (cast_expression "(double)fVar50" ( (type_descriptor "double" primitive_type) ) identifier) / identifier)) ;) (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" identifier = number_literal) ;) (if_statement "if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }" if (parenthesized_expression "(dVar54 < dVar66)" ( (binary_expression "dVar54 < dVar66" identifier < identifier) )) (compound_statement "{\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }" { (expression_statement "dVar54 = dVar54 + dVar62;" (assignment_expression "dVar54 = dVar54 + dVar62" identifier = (binary_expression "dVar54 + dVar62" identifier + identifier)) ;) (if_statement "if (dVar54 < dVar60) goto LAB_002b8e7c;" if (parenthesized_expression "(dVar54 < dVar60)" ( (binary_expression "dVar54 < dVar60" identifier < identifier) )) (goto_statement "goto LAB_002b8e7c;" goto statement_identifier ;)) (expression_statement "uVar17 = (int)(dVar54 - dVar60) & 0xff;" (assignment_expression "uVar17 = (int)(dVar54 - dVar60) & 0xff" identifier = (binary_expression "(int)(dVar54 - dVar60) & 0xff" (cast_expression "(int)(dVar54 - dVar60)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar54 - dVar60)" ( (binary_expression "dVar54 - dVar60" identifier - identifier) ))) & number_literal)) ;) })) })) (goto_statement "goto LAB_002b8328;" goto statement_identifier ;) })) }))) }))) (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = iVar19 + iVar48;" (assignment_expression "iVar19 = iVar19 + iVar48" identifier = (binary_expression "iVar19 + iVar48" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar51 < (int)pfVar27[6])" ( (binary_expression "iVar51 < (int)pfVar27[6]" identifier < (cast_expression "(int)pfVar27[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar27[6]" identifier [ number_literal ]))) )) ;) })))) (expression_statement "fVar50 = pfVar27[7];" (assignment_expression "fVar50 = pfVar27[7]" identifier = (subscript_expression "pfVar27[7]" identifier [ number_literal ])) ;) (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }" if (parenthesized_expression "((uint)fVar50 <= (uint)fVar38)" ( (binary_expression "(uint)fVar50 <= (uint)fVar38" (cast_expression "(uint)fVar50" ( (type_descriptor "uint" type_identifier) ) identifier) <= (cast_expression "(uint)fVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) )) (compound_statement "{\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }" { (expression_statement "fStack_1a0 = (float)((int)fStack_1a0 + 1);" (assignment_expression "fStack_1a0 = (float)((int)fStack_1a0 + 1)" identifier = (cast_expression "(float)((int)fStack_1a0 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fStack_1a0 + 1)" ( (binary_expression "(int)fStack_1a0 + 1" (cast_expression "(int)fStack_1a0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "fVar38 = fStack_1a0;" (assignment_expression "fVar38 = fStack_1a0" identifier = identifier) ;) })) (if_statement "if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }" if (parenthesized_expression "(pfVar27[0xcd9] == 0.0)" ( (binary_expression "pfVar27[0xcd9] == 0.0" (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }" { (expression_statement "iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );" (assignment_expression "iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" identifier = (call_expression "(**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" (parenthesized_expression "(**(code **)(puVar52 + 0xf11a0))" ( (pointer_expression "**(code **)(puVar52 + 0xf11a0)" * (pointer_expression "*(code **)(puVar52 + 0xf11a0)" * (cast_expression "(code **)(puVar52 + 0xf11a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf11a0)" ( (binary_expression "puVar52 + 0xf11a0" identifier + number_literal) ))))) )) (argument_list "(pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x15c" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" * (cast_expression "(int *)(puVar52 + 0xf0dd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dd8)" ( (binary_expression "puVar52 + 0xf0dd8" identifier + number_literal) )))) + number_literal) , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "fVar50 = pfVar27[7];" (assignment_expression "fVar50 = pfVar27[7]" identifier = (subscript_expression "pfVar27[7]" identifier [ number_literal ])) ;) })) (expression_statement "uVar17 = uStack_1c8 + 1;" (assignment_expression "uVar17 = uStack_1c8 + 1" identifier = (binary_expression "uStack_1c8 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;" (assignment_expression "iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6" identifier = (binary_expression "(uint)(uVar17 < uStack_1c8) + iVar6" (call_expression "(uint)(uVar17 < uStack_1c8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uStack_1c8)" ( (binary_expression "uVar17 < uStack_1c8" identifier < identifier) ))) + identifier)) ;) (expression_statement "uStack_1c8 = uVar17;" (assignment_expression "uStack_1c8 = uVar17" identifier = identifier) ;) }) while (parenthesized_expression "((int)uVar17 < (int)fVar50)" ( (binary_expression "(int)uVar17 < (int)fVar50" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)fVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "(**(code **)(puVar52 + 0xf1b74))(pfVar27);" (call_expression "(**(code **)(puVar52 + 0xf1b74))(pfVar27)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1b74))" ( (pointer_expression "**(code **)(puVar52 + 0xf1b74)" * (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) )) (argument_list "(pfVar27)" ( identifier ))) ;) (return_statement "return (float *)0x1;" return (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" ( (pointer_expression "**(code **)(puVar52 + 0xf140c)" * (pointer_expression "*(code **)(puVar52 + 0xf140c)" * (cast_expression "(code **)(puVar52 + 0xf140c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf140c)" ( (binary_expression "puVar52 + 0xf140c" identifier + number_literal) ))))) )) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0)" ( identifier , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" * (cast_expression "(int *)(puVar52 + 0xf0e38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0e38)" ( (binary_expression "puVar52 + 0xf0e38" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" * (cast_expression "(int *)(puVar52 + 0xf0dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar52 + 0xf0dcc)" ( (binary_expression "puVar52 + 0xf0dcc" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar27 + 0xd0" identifier + number_literal) ))) ;) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" identifier = identifier) ;) (if_statement "if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" if (parenthesized_expression "(pfVar5[3] == 0.0)" ( (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }" { (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" else (compound_statement "{\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" { (do_statement "do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);" do (compound_statement "{\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    }" { (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" identifier = identifier) ;) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" identifier = (pointer_expression "*(code **)(puVar52 + 0xf1b74)" * (cast_expression "(code **)(puVar52 + 0xf1b74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar52 + 0xf1b74)" ( (binary_expression "puVar52 + 0xf1b74" identifier + number_literal) ))))) ;) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" identifier = (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" ( (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "pfVar27[0xcd9]" identifier [ number_literal ])) != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (labeled_statement "LAB_002b7c64:\n  (*pcVar53)(pfVar27);" statement_identifier : (expression_statement "(*pcVar53)(pfVar27);" (call_expression "(*pcVar53)(pfVar27)" (parenthesized_expression "(*pcVar53)" ( (pointer_expression "*pcVar53" * identifier) )) (argument_list "(pfVar27)" ( identifier ))) ;)) (return_statement "return (float *)0x0;" return (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (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 (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (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 = (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (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 = (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (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 ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) & LIT) ))) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT >> (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) & LIT) ))) )) << LIT) )))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (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 = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;))) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_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 ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) ))) * IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) ))) * IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) ))) ))) * IDENT) * IDENT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) }))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (expression_statement (assignment_expression 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 < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (char_literal ' escape_sequence ')))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) ))) * IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ))) * IDENT) * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) ))) * IDENT) * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_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 (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 , IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 , IDENT , LIT , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (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 = (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 ))))) ;) }))) }) (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 , IDENT , IDENT , LIT , IDENT , (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 { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) < LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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 { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) * IDENT) )) / 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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT | LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) ))))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT - IDENT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) / IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT - IDENT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) / IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT - IDENT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * IDENT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , (subscript_expression IDENT [ LIT ]) , LIT , 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 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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))))) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) != (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (binary_expression (binary_expression IDENT - LIT) & LIT) | LIT) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ))) & LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) & LIT)) ;)) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )))) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) }) (else_clause else (compound_statement { (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) != 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ))) & LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) & LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )))) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) }) (else_clause else (compound_statement { (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) != 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) & LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ))) & LIT)) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) & LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )))) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) ))) ;) }) (else_clause else (compound_statement { (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (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 IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) != 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) & LIT)) ;) })) })) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;)) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "float * FUN_002b67b0(int param_1,float *param_2)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}" (primitive_type "float") (pointer_declarator "* FUN_002b67b0(int param_1,float *param_2)" (* "*") (function_declarator "FUN_002b67b0(int param_1,float *param_2)" (identifier "FUN_002b67b0") (parameter_list "(int param_1,float *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "float *param_2" (primitive_type "float") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  char cVar4;\n  float *pfVar5;\n  int iVar6;\n  undefined *puVar7;\n  float fVar8;\n  float **ppfVar9;\n  float **ppfVar10;\n  undefined *puVar11;\n  float *pfVar12;\n  float *pfVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uint uVar17;\n  uint uVar18;\n  int iVar19;\n  byte *pbVar20;\n  byte bVar21;\n  undefined4 *puVar22;\n  int iVar23;\n  uint extraout_v1;\n  uint extraout_v1_00;\n  uint extraout_v1_01;\n  uint extraout_v1_02;\n  uint extraout_v1_03;\n  uint extraout_v1_04;\n  uint extraout_v1_05;\n  uint extraout_v1_06;\n  uint extraout_v1_07;\n  byte *pbVar24;\n  uint extraout_v1_08;\n  byte extraout_v1_10;\n  uint extraout_v1_09;\n  undefined4 *puVar25;\n  uint uVar26;\n  float *pfVar27;\n  float fVar28;\n  int iVar29;\n  uint uVar30;\n  float *pfVar31;\n  int iVar32;\n  undefined4 uVar33;\n  uint uVar34;\n  int iVar35;\n  byte bVar36;\n  int iVar37;\n  float fVar38;\n  float fVar39;\n  undefined4 *puVar40;\n  int iVar41;\n  int iVar42;\n  int iVar43;\n  int iVar44;\n  int iVar45;\n  byte *pbVar46;\n  float *pfVar47;\n  int iVar48;\n  int iVar49;\n  float fVar50;\n  int iVar51;\n  undefined *puVar52;\n  code *pcVar53;\n  double dVar54;\n  float fVar56;\n  double dVar55;\n  double dVar57;\n  double dVar58;\n  float fVar59;\n  double dVar60;\n  double dVar61;\n  double dVar62;\n  double dVar63;\n  ulonglong uVar64;\n  double dVar65;\n  double dVar66;\n  double dVar67;\n  double dVar68;\n  double dVar69;\n  undefined8 uVar70;\n  float fStack_1ec;\n  uint uStack_1c8;\n  float fStack_1a0;\n  float *local_f8;\n  float *local_f0;\n  uint local_ec;\n  float *local_e4;\n  char local_c9;\n  float *local_c8;\n  byte local_c4;\n  char local_c3;\n  ushort local_c2;\n  ushort local_c0;\n  byte local_be;\n  undefined2 local_bc;\n  undefined2 local_ba;\n  ushort local_b8;\n  ushort local_b6;\n  byte local_b4;\n  byte local_b3;\n  float *local_b0 [10];\n  double local_88;\n  double local_80;\n  double local_78;\n  double local_68;\n  float *local_60;\n  undefined4 local_5c;\n  byte local_58;\n  byte local_57;\n  byte local_56;\n  byte local_55;\n  float *local_54;\n  \n  puVar52 = PTR___stack_chk_guard_003a9230;\n  local_54 = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }\n  if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }\n  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);\n  pfVar31 = (float *)0x2;\n  pfVar27 = pfVar5;\n  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);\n  if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }\n  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);\n  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n  if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }\nLAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }\n  pfVar5 = local_54;\n  puVar52 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = *(int *)(puVar52 + 0xf0e38);\n  if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }\n  if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);\n  if (iVar6 == 0) {\n    return (float *)0x0;\n  }\n  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }\n  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);\n  fVar8 = *pfVar5;\n  if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }\n  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);\n  if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }\n  fVar50 = pfVar27[6];\n  fVar38 = pfVar27[7];\n  fVar39 = fVar50;\n  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }\nLAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }\n  if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }\n  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }\n  (**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);\n  pfVar31 = pfVar27;\n  if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }\nLAB_002b7c64:\n  (*pcVar53)(pfVar27);\n  return (float *)0x0;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "float *pfVar5;" (primitive_type "float") (pointer_declarator "*pfVar5" (* "*") (identifier "pfVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "float fVar8;" (primitive_type "float") (identifier "fVar8") (; ";")) (declaration "float **ppfVar9;" (primitive_type "float") (pointer_declarator "**ppfVar9" (* "*") (pointer_declarator "*ppfVar9" (* "*") (identifier "ppfVar9"))) (; ";")) (declaration "float **ppfVar10;" (primitive_type "float") (pointer_declarator "**ppfVar10" (* "*") (pointer_declarator "*ppfVar10" (* "*") (identifier "ppfVar10"))) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "float *pfVar12;" (primitive_type "float") (pointer_declarator "*pfVar12" (* "*") (identifier "pfVar12")) (; ";")) (declaration "float *pfVar13;" (primitive_type "float") (pointer_declarator "*pfVar13" (* "*") (identifier "pfVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "byte bVar21;" (type_identifier "byte") (identifier "bVar21") (; ";")) (declaration "undefined4 *puVar22;" (type_identifier "undefined4") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "uint extraout_v1;" (type_identifier "uint") (identifier "extraout_v1") (; ";")) (declaration "uint extraout_v1_00;" (type_identifier "uint") (identifier "extraout_v1_00") (; ";")) (declaration "uint extraout_v1_01;" (type_identifier "uint") (identifier "extraout_v1_01") (; ";")) (declaration "uint extraout_v1_02;" (type_identifier "uint") (identifier "extraout_v1_02") (; ";")) (declaration "uint extraout_v1_03;" (type_identifier "uint") (identifier "extraout_v1_03") (; ";")) (declaration "uint extraout_v1_04;" (type_identifier "uint") (identifier "extraout_v1_04") (; ";")) (declaration "uint extraout_v1_05;" (type_identifier "uint") (identifier "extraout_v1_05") (; ";")) (declaration "uint extraout_v1_06;" (type_identifier "uint") (identifier "extraout_v1_06") (; ";")) (declaration "uint extraout_v1_07;" (type_identifier "uint") (identifier "extraout_v1_07") (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "uint extraout_v1_08;" (type_identifier "uint") (identifier "extraout_v1_08") (; ";")) (declaration "byte extraout_v1_10;" (type_identifier "byte") (identifier "extraout_v1_10") (; ";")) (declaration "uint extraout_v1_09;" (type_identifier "uint") (identifier "extraout_v1_09") (; ";")) (declaration "undefined4 *puVar25;" (type_identifier "undefined4") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "float *pfVar27;" (primitive_type "float") (pointer_declarator "*pfVar27" (* "*") (identifier "pfVar27")) (; ";")) (declaration "float fVar28;" (primitive_type "float") (identifier "fVar28") (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "uint uVar30;" (type_identifier "uint") (identifier "uVar30") (; ";")) (declaration "float *pfVar31;" (primitive_type "float") (pointer_declarator "*pfVar31" (* "*") (identifier "pfVar31")) (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "undefined4 uVar33;" (type_identifier "undefined4") (identifier "uVar33") (; ";")) (declaration "uint uVar34;" (type_identifier "uint") (identifier "uVar34") (; ";")) (declaration "int iVar35;" (primitive_type "int") (identifier "iVar35") (; ";")) (declaration "byte bVar36;" (type_identifier "byte") (identifier "bVar36") (; ";")) (declaration "int iVar37;" (primitive_type "int") (identifier "iVar37") (; ";")) (declaration "float fVar38;" (primitive_type "float") (identifier "fVar38") (; ";")) (declaration "float fVar39;" (primitive_type "float") (identifier "fVar39") (; ";")) (declaration "undefined4 *puVar40;" (type_identifier "undefined4") (pointer_declarator "*puVar40" (* "*") (identifier "puVar40")) (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "int iVar42;" (primitive_type "int") (identifier "iVar42") (; ";")) (declaration "int iVar43;" (primitive_type "int") (identifier "iVar43") (; ";")) (declaration "int iVar44;" (primitive_type "int") (identifier "iVar44") (; ";")) (declaration "int iVar45;" (primitive_type "int") (identifier "iVar45") (; ";")) (declaration "byte *pbVar46;" (type_identifier "byte") (pointer_declarator "*pbVar46" (* "*") (identifier "pbVar46")) (; ";")) (declaration "float *pfVar47;" (primitive_type "float") (pointer_declarator "*pfVar47" (* "*") (identifier "pfVar47")) (; ";")) (declaration "int iVar48;" (primitive_type "int") (identifier "iVar48") (; ";")) (declaration "int iVar49;" (primitive_type "int") (identifier "iVar49") (; ";")) (declaration "float fVar50;" (primitive_type "float") (identifier "fVar50") (; ";")) (declaration "int iVar51;" (primitive_type "int") (identifier "iVar51") (; ";")) (declaration "undefined *puVar52;" (type_identifier "undefined") (pointer_declarator "*puVar52" (* "*") (identifier "puVar52")) (; ";")) (declaration "code *pcVar53;" (type_identifier "code") (pointer_declarator "*pcVar53" (* "*") (identifier "pcVar53")) (; ";")) (declaration "double dVar54;" (primitive_type "double") (identifier "dVar54") (; ";")) (declaration "float fVar56;" (primitive_type "float") (identifier "fVar56") (; ";")) (declaration "double dVar55;" (primitive_type "double") (identifier "dVar55") (; ";")) (declaration "double dVar57;" (primitive_type "double") (identifier "dVar57") (; ";")) (declaration "double dVar58;" (primitive_type "double") (identifier "dVar58") (; ";")) (declaration "float fVar59;" (primitive_type "float") (identifier "fVar59") (; ";")) (declaration "double dVar60;" (primitive_type "double") (identifier "dVar60") (; ";")) (declaration "double dVar61;" (primitive_type "double") (identifier "dVar61") (; ";")) (declaration "double dVar62;" (primitive_type "double") (identifier "dVar62") (; ";")) (declaration "double dVar63;" (primitive_type "double") (identifier "dVar63") (; ";")) (declaration "ulonglong uVar64;" (type_identifier "ulonglong") (identifier "uVar64") (; ";")) (declaration "double dVar65;" (primitive_type "double") (identifier "dVar65") (; ";")) (declaration "double dVar66;" (primitive_type "double") (identifier "dVar66") (; ";")) (declaration "double dVar67;" (primitive_type "double") (identifier "dVar67") (; ";")) (declaration "double dVar68;" (primitive_type "double") (identifier "dVar68") (; ";")) (declaration "double dVar69;" (primitive_type "double") (identifier "dVar69") (; ";")) (declaration "undefined8 uVar70;" (type_identifier "undefined8") (identifier "uVar70") (; ";")) (declaration "float fStack_1ec;" (primitive_type "float") (identifier "fStack_1ec") (; ";")) (declaration "uint uStack_1c8;" (type_identifier "uint") (identifier "uStack_1c8") (; ";")) (declaration "float fStack_1a0;" (primitive_type "float") (identifier "fStack_1a0") (; ";")) (declaration "float *local_f8;" (primitive_type "float") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8")) (; ";")) (declaration "float *local_f0;" (primitive_type "float") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "uint local_ec;" (type_identifier "uint") (identifier "local_ec") (; ";")) (declaration "float *local_e4;" (primitive_type "float") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4")) (; ";")) (declaration "char local_c9;" (primitive_type "char") (identifier "local_c9") (; ";")) (declaration "float *local_c8;" (primitive_type "float") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "byte local_c4;" (type_identifier "byte") (identifier "local_c4") (; ";")) (declaration "char local_c3;" (primitive_type "char") (identifier "local_c3") (; ";")) (declaration "ushort local_c2;" (type_identifier "ushort") (identifier "local_c2") (; ";")) (declaration "ushort local_c0;" (type_identifier "ushort") (identifier "local_c0") (; ";")) (declaration "byte local_be;" (type_identifier "byte") (identifier "local_be") (; ";")) (declaration "undefined2 local_bc;" (type_identifier "undefined2") (identifier "local_bc") (; ";")) (declaration "undefined2 local_ba;" (type_identifier "undefined2") (identifier "local_ba") (; ";")) (declaration "ushort local_b8;" (type_identifier "ushort") (identifier "local_b8") (; ";")) (declaration "ushort local_b6;" (type_identifier "ushort") (identifier "local_b6") (; ";")) (declaration "byte local_b4;" (type_identifier "byte") (identifier "local_b4") (; ";")) (declaration "byte local_b3;" (type_identifier "byte") (identifier "local_b3") (; ";")) (declaration "float *local_b0 [10];" (primitive_type "float") (pointer_declarator "*local_b0 [10]" (* "*") (array_declarator "local_b0 [10]" (identifier "local_b0") ([ "[") (number_literal "10") (] "]"))) (; ";")) (declaration "double local_88;" (primitive_type "double") (identifier "local_88") (; ";")) (declaration "double local_80;" (primitive_type "double") (identifier "local_80") (; ";")) (declaration "double local_78;" (primitive_type "double") (identifier "local_78") (; ";")) (declaration "double local_68;" (primitive_type "double") (identifier "local_68") (; ";")) (declaration "float *local_60;" (primitive_type "float") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "byte local_58;" (type_identifier "byte") (identifier "local_58") (; ";")) (declaration "byte local_57;" (type_identifier "byte") (identifier "local_57") (; ";")) (declaration "byte local_56;" (type_identifier "byte") (identifier "local_56") (; ";")) (declaration "byte local_55;" (type_identifier "byte") (identifier "local_55") (; ";")) (declaration "float *local_54;" (primitive_type "float") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (expression_statement "puVar52 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar52 = PTR___stack_chk_guard_003a9230" (identifier "puVar52") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_54 = *(float **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_54 = *(float **)PTR___stack_chk_guard_003a9230" (identifier "local_54") (= "=") (pointer_expression "*(float **)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(float **)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 == 0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xd78,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xd78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0xbf") (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3778")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3214) != -0x54535255) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\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    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0xda0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xda0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0xc0") (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3778")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3210) != 0) {\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3210) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3210) != 0" (pointer_expression "*(int *)(param_1 + 0x3210)" (* "*") (cast_expression "(int *)(param_1 + 0x3210)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3210)" (( "(") (binary_expression "param_1 + 0x3210" (identifier "param_1") (+ "+") (number_literal "0x3210")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);\n  }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,\n               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,\n               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3768")) (, ",") (number_literal "0xc2") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "param_1 + 0x2210" (identifier "param_1") (+ "+") (number_literal "0x2210")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == (float *)0x0) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(param_2 == (float *)0x0)" (( "(") (binary_expression "param_2 == (float *)0x0" (identifier "param_2") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x1cac,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1cac" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0xc4") (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3778")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (param_2[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(param_2[7] != -1.2269538e-12)" (( "(") (binary_expression "param_2[7] != -1.2269538e-12" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "-1.2269538e-12")) () ")")) (compound_statement "{\n    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);" (assignment_expression "pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                                 (PTR_LAB_003a88e0 + 0x294c,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (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,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,\n                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x294c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0xc5") (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3778")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (expression_statement "pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);" (assignment_expression "pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (identifier "pfVar5") (= "=") (cast_expression "(float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_AcquireImage_003a960c)" (( "(") (pointer_expression "*(code *)PTR_AcquireImage_003a960c" (* "*") (cast_expression "(code *)PTR_AcquireImage_003a960c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireImage_003a960c"))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "pfVar31 = (float *)0x2;" (assignment_expression "pfVar31 = (float *)0x2" (identifier "pfVar31") (= "=") (cast_expression "(float *)0x2" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "pfVar27 = pfVar5;" (assignment_expression "pfVar27 = pfVar5" (identifier "pfVar27") (= "=") (identifier "pfVar5")) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2)" (parenthesized_expression "(*(code *)PTR_OpenBlob_003a924c)" (( "(") (pointer_expression "*(code *)PTR_OpenBlob_003a924c" (* "*") (cast_expression "(code *)PTR_OpenBlob_003a924c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_OpenBlob_003a924c"))) () ")")) (argument_list "(param_1,pfVar5,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "pfVar5") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pfVar47 = (float *)0x0;\n    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    goto LAB_002b6964;\n  }" ({ "{") (expression_statement "pfVar47 = (float *)0x0;" (assignment_expression "pfVar47 = (float *)0x0" (identifier "pfVar47") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" (* "*") (cast_expression "(code *)PTR_DestroyImageList_003a9510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageList_003a9510"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))) (; ";")) (goto_statement "goto LAB_002b6964;" (goto "goto") (statement_identifier "LAB_002b6964") (; ";")) (} "}"))) (expression_statement "iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);" (assignment_expression "iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5,1,&local_c4)" (( "(") (identifier "pfVar5") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_c4" (& "&") (identifier "local_c4")) () ")")))) (; ";")) (expression_statement "local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "local_c3") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "local_c8") (= "=") (cast_expression "(float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))))) (; ";")) (if_statement "if (iVar6 == 1) {\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }\n  else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" (if "if") (parenthesized_expression "(iVar6 == 1)" (( "(") (binary_expression "iVar6 == 1" (identifier "iVar6") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }\n    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);\n    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n    if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }\n    pfVar27 = (float *)(uint)local_b4;\n    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }\n    pfVar5[6] = (float)(uint)local_b8;\n    pfVar5[7] = (float)(uint)local_b6;\n    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }\nLAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }\n    puVar7 = PTR_GetBlobSize_003a94b8;\n    pfVar31 = local_c8;\n    if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }\nLAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;\n    if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }\nLAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;\n    if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }\n    if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }\n  }" ({ "{") (if_statement "if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }\n    else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" (if "if") (parenthesized_expression "((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3)" (( "(") (binary_expression "(undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3" (cast_expression "(undefined1 *)((int)local_c8 + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_c8 + -1)" (( "(") (binary_expression "(int)local_c8 + -1" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (+ "+") (number_literal "-1")) () ")"))) (< "<") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n      if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }\n    }" ({ "{") (if_statement "if (local_c8 == (float *)0x1) {\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }" (if "if") (parenthesized_expression "(local_c8 == (float *)0x1)" (( "(") (binary_expression "local_c8 == (float *)0x1" (identifier "local_c8") (== "==") (cast_expression "(float *)0x1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\nLAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;\n      }" ({ "{") (labeled_statement "LAB_002b69c0:\n        if (local_c3 == '\0') goto LAB_002b68ec;" (statement_identifier "LAB_002b69c0") (: ":") (if_statement "if (local_c3 == '\0') goto LAB_002b68ec;" (if "if") (parenthesized_expression "(local_c3 == '\0')" (( "(") (binary_expression "local_c3 == '\0'" (identifier "local_c3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002b68ec;" (goto "goto") (statement_identifier "LAB_002b68ec") (; ";")))) (} "}"))) (} "}")) (else_clause "else {\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" (else "else") (compound_statement "{\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;\n      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;\n    }" ({ "{") (if_statement "if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;" (if "if") (parenthesized_expression "(local_c8 == (float *)&DAT_00000009)" (( "(") (binary_expression "local_c8 == (float *)&DAT_00000009" (identifier "local_c8") (== "==") (cast_expression "(float *)&DAT_00000009" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) () ")")) (goto_statement "goto LAB_002b69c0;" (goto "goto") (statement_identifier "LAB_002b69c0") (; ";"))) (if_statement "if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;" (if "if") (parenthesized_expression "((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10))" (( "(") (binary_expression "(undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)" (cast_expression "(undefined1 *)0x1" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (< "<") (cast_expression "(undefined1 *)((int)local_c8 + -10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_c8 + -10)" (( "(") (binary_expression "(int)local_c8 + -10" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (+ "+") (number_literal "-10")) () ")")))) () ")")) (goto_statement "goto LAB_002b68ec;" (goto "goto") (statement_identifier "LAB_002b68ec") (; ";"))) (} "}")))) (expression_statement "local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (identifier "local_c2") (= "=") (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" (* "*") (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLSBShort_003a96fc"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (identifier "local_c0") (= "=") (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" (* "*") (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLSBShort_003a96fc"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "local_be") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (identifier "local_bc") (= "=") (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" (* "*") (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLSBShort_003a96fc"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (identifier "local_ba") (= "=") (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" (* "*") (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLSBShort_003a96fc"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (identifier "local_b8") (= "=") (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" (* "*") (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLSBShort_003a96fc"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);" (assignment_expression "local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (identifier "local_b6") (= "=") (call_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobLSBShort_003a96fc)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobLSBShort_003a96fc" (* "*") (cast_expression "(code *)PTR_ReadBlobLSBShort_003a96fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobLSBShort_003a96fc"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "local_b4") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "local_b3") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar33 = 0xe8;\n      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n      goto LAB_002b6920;\n    }" ({ "{") (expression_statement "uVar33 = 0xe8;" (assignment_expression "uVar33 = 0xe8" (identifier "uVar33") (= "=") (number_literal "0xe8")) (; ";")) (expression_statement "puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" (identifier "puVar7") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x18cc"))) (; ";")) (goto_statement "goto LAB_002b6920;" (goto "goto") (statement_identifier "LAB_002b6920") (; ";")) (} "}"))) (expression_statement "pfVar27 = (float *)(uint)local_b4;" (assignment_expression "pfVar27 = (float *)(uint)local_b4" (identifier "pfVar27") (= "=") (cast_expression "(float *)(uint)local_b4" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b4")))) (; ";")) (if_statement "if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }" (if "if") (parenthesized_expression "((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)))" (( "(") (binary_expression "(0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||\n       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))" (parenthesized_expression "(0x1e < ((uint)((int)pfVar27 + -2) & 0xff))" (( "(") (binary_expression "0x1e < ((uint)((int)pfVar27 + -2) & 0xff)" (number_literal "0x1e") (< "<") (parenthesized_expression "((uint)((int)pfVar27 + -2) & 0xff)" (( "(") (binary_expression "(uint)((int)pfVar27 + -2) & 0xff" (call_expression "(uint)((int)pfVar27 + -2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pfVar27 + -2)" (( "(") (binary_expression "(int)pfVar27 + -2" (cast_expression "(int)pfVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar27")) (+ "+") (number_literal "-2")) () ")"))) (& "&") (number_literal "0xff")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))" (( "(") (binary_expression "-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" (number_literal "-1") (< "<") (cast_expression "(int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f)" (( "(") (binary_expression "(0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f" (parenthesized_expression "(0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f))" (( "(") (binary_expression "0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)" (number_literal "0x40407fffU") (>> ">>") (parenthesized_expression "((uint)((int)pfVar27 + -2) & 0x1f)" (( "(") (binary_expression "(uint)((int)pfVar27 + -2) & 0x1f" (call_expression "(uint)((int)pfVar27 + -2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pfVar27 + -2)" (( "(") (binary_expression "(int)pfVar27 + -2" (cast_expression "(int)pfVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar27")) (+ "+") (number_literal "-2")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")")))) () ")"))) () ")")) (compound_statement "{\n      uVar33 = 0xeb;\n      goto LAB_002b68f4;\n    }" ({ "{") (expression_statement "uVar33 = 0xeb;" (assignment_expression "uVar33 = 0xeb" (identifier "uVar33") (= "=") (number_literal "0xeb")) (; ";")) (goto_statement "goto LAB_002b68f4;" (goto "goto") (statement_identifier "LAB_002b68f4") (; ";")) (} "}"))) (expression_statement "pfVar5[6] = (float)(uint)local_b8;" (assignment_expression "pfVar5[6] = (float)(uint)local_b8" (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(float)(uint)local_b8" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (cast_expression "(uint)local_b8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b8")))) (; ";")) (expression_statement "pfVar5[7] = (float)(uint)local_b6;" (assignment_expression "pfVar5[7] = (float)(uint)local_b6" (subscript_expression "pfVar5[7]" (identifier "pfVar5") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(float)(uint)local_b6" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (cast_expression "(uint)local_b6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b6")))) (; ";")) (if_statement "if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }\n    else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" (if "if") (parenthesized_expression "((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb))" (( "(") (binary_expression "(local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)" (parenthesized_expression "(local_c8 == (float *)0x3)" (( "(") (binary_expression "local_c8 == (float *)0x3" (identifier "local_c8") (== "==") (cast_expression "(float *)0x3" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (|| "||") (parenthesized_expression "(local_c8 == (float *)0xb)" (( "(") (binary_expression "local_c8 == (float *)0xb" (identifier "local_c8") (== "==") (cast_expression "(float *)0xb" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xb"))) () ")"))) () ")")) (compound_statement "{\nLAB_002b6bac:\n      fVar8 = 7.00649e-45;\n      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }\n      pfVar5[8] = fVar8;\n    }" ({ "{") (labeled_statement "LAB_002b6bac:\n      fVar8 = 7.00649e-45;" (statement_identifier "LAB_002b6bac") (: ":") (expression_statement "fVar8 = 7.00649e-45;" (assignment_expression "fVar8 = 7.00649e-45" (identifier "fVar8") (= "=") (number_literal "7.00649e-45")) (; ";"))) (if_statement "if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {\n        fVar8 = 1.12104e-44;\n      }" (if "if") (parenthesized_expression "((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9))" (( "(") (binary_expression "(undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)" (cast_expression "(undefined1 *)0x7" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7")) (< "<") (cast_expression "(undefined1 *)((int)pfVar27 + -9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27 + -9)" (( "(") (binary_expression "(int)pfVar27 + -9" (cast_expression "(int)pfVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar27")) (+ "+") (number_literal "-9")) () ")")))) () ")")) (compound_statement "{\n        fVar8 = 1.12104e-44;\n      }" ({ "{") (expression_statement "fVar8 = 1.12104e-44;" (assignment_expression "fVar8 = 1.12104e-44" (identifier "fVar8") (= "=") (number_literal "1.12104e-44")) (; ";")) (} "}"))) (expression_statement "pfVar5[8] = fVar8;" (assignment_expression "pfVar5[8] = fVar8" (subscript_expression "pfVar5[8]" (identifier "pfVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "fVar8")) (; ";")) (} "}")) (else_clause "else {\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" (else "else") (compound_statement "{\n      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }\n      pfVar5[0xaf] = fVar8;\n      if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }\n      *pfVar5 = 2.8026e-45;\n    }" ({ "{") (if_statement "if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }\n      else {\n        fVar8 = 5.60519e-45;\n      }" (if "if") (parenthesized_expression "(((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20))" (( "(") (binary_expression "((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)" (parenthesized_expression "((local_b3 & 0xf) == 0)" (( "(") (binary_expression "(local_b3 & 0xf) == 0" (parenthesized_expression "(local_b3 & 0xf)" (( "(") (binary_expression "local_b3 & 0xf" (identifier "local_b3") (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pfVar27 != (float *)0x20)" (( "(") (binary_expression "pfVar27 != (float *)0x20" (identifier "pfVar27") (!= "!=") (cast_expression "(float *)0x20" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x20"))) () ")"))) () ")")) (compound_statement "{\n        fVar8 = 5.60519e-45;\n        if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }\n      }" ({ "{") (expression_statement "fVar8 = 5.60519e-45;" (assignment_expression "fVar8 = 5.60519e-45" (identifier "fVar8") (= "=") (number_literal "5.60519e-45")) (; ";")) (if_statement "if (local_be != 0x20) {\n          fVar8 = 0.0;\n        }" (if "if") (parenthesized_expression "(local_be != 0x20)" (( "(") (binary_expression "local_be != 0x20" (identifier "local_be") (!= "!=") (number_literal "0x20")) () ")")) (compound_statement "{\n          fVar8 = 0.0;\n        }" ({ "{") (expression_statement "fVar8 = 0.0;" (assignment_expression "fVar8 = 0.0" (identifier "fVar8") (= "=") (number_literal "0.0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        fVar8 = 5.60519e-45;\n      }" (else "else") (compound_statement "{\n        fVar8 = 5.60519e-45;\n      }" ({ "{") (expression_statement "fVar8 = 5.60519e-45;" (assignment_expression "fVar8 = 5.60519e-45" (identifier "fVar8") (= "=") (number_literal "5.60519e-45")) (; ";")) (} "}")))) (expression_statement "pfVar5[0xaf] = fVar8;" (assignment_expression "pfVar5[0xaf] = fVar8" (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]")) (= "=") (identifier "fVar8")) (; ";")) (if_statement "if (local_c8 == (float *)0x1) {\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }\n      else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" (if "if") (parenthesized_expression "(local_c8 == (float *)0x1)" (( "(") (binary_expression "local_c8 == (float *)0x1" (identifier "local_c8") (== "==") (cast_expression "(float *)0x1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n        if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }\nLAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;\n      }" ({ "{") (if_statement "if ((8 < local_be) && (local_be < 0x11)) {\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }" (if "if") (parenthesized_expression "((8 < local_be) && (local_be < 0x11))" (( "(") (binary_expression "(8 < local_be) && (local_be < 0x11)" (parenthesized_expression "(8 < local_be)" (( "(") (binary_expression "8 < local_be" (number_literal "8") (< "<") (identifier "local_be")) () ")")) (&& "&&") (parenthesized_expression "(local_be < 0x11)" (( "(") (binary_expression "local_be < 0x11" (identifier "local_be") (< "<") (number_literal "0x11")) () ")"))) () ")")) (compound_statement "{\n          pfVar5[8] = 7.00649e-45;\n          *pfVar5 = 2.8026e-45;\n          goto LAB_002b6bc4;\n        }" ({ "{") (expression_statement "pfVar5[8] = 7.00649e-45;" (assignment_expression "pfVar5[8] = 7.00649e-45" (subscript_expression "pfVar5[8]" (identifier "pfVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "7.00649e-45")) (; ";")) (expression_statement "*pfVar5 = 2.8026e-45;" (assignment_expression "*pfVar5 = 2.8026e-45" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (number_literal "2.8026e-45")) (; ";")) (goto_statement "goto LAB_002b6bc4;" (goto "goto") (statement_identifier "LAB_002b6bc4") (; ";")) (} "}"))) (labeled_statement "LAB_002b6b10:\n        pfVar5[8] = 1.12104e-44;" (statement_identifier "LAB_002b6b10") (: ":") (expression_statement "pfVar5[8] = 1.12104e-44;" (assignment_expression "pfVar5[8] = 1.12104e-44" (subscript_expression "pfVar5[8]" (identifier "pfVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "1.12104e-44")) (; ";"))) (} "}")) (else_clause "else {\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" (else "else") (compound_statement "{\n        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;\n        if (local_be < 9) goto LAB_002b6b10;\n        if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }\n      }" ({ "{") (if_statement "if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;" (if "if") (parenthesized_expression "(local_c8 != (float *)&DAT_00000009)" (( "(") (binary_expression "local_c8 != (float *)&DAT_00000009" (identifier "local_c8") (!= "!=") (cast_expression "(float *)&DAT_00000009" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) () ")")) (goto_statement "goto LAB_002b6bac;" (goto "goto") (statement_identifier "LAB_002b6bac") (; ";"))) (if_statement "if (local_be < 9) goto LAB_002b6b10;" (if "if") (parenthesized_expression "(local_be < 9)" (( "(") (binary_expression "local_be < 9" (identifier "local_be") (< "<") (number_literal "9")) () ")")) (goto_statement "goto LAB_002b6b10;" (goto "goto") (statement_identifier "LAB_002b6b10") (; ";"))) (if_statement "if (local_be < 0x11) {\n          pfVar5[8] = 7.00649e-45;\n        }\n        else {\n          pfVar5[8] = 1.12104e-44;\n        }" (if "if") (parenthesized_expression "(local_be < 0x11)" (( "(") (binary_expression "local_be < 0x11" (identifier "local_be") (< "<") (number_literal "0x11")) () ")")) (compound_statement "{\n          pfVar5[8] = 7.00649e-45;\n        }" ({ "{") (expression_statement "pfVar5[8] = 7.00649e-45;" (assignment_expression "pfVar5[8] = 7.00649e-45" (subscript_expression "pfVar5[8]" (identifier "pfVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "7.00649e-45")) (; ";")) (} "}")) (else_clause "else {\n          pfVar5[8] = 1.12104e-44;\n        }" (else "else") (compound_statement "{\n          pfVar5[8] = 1.12104e-44;\n        }" ({ "{") (expression_statement "pfVar5[8] = 1.12104e-44;" (assignment_expression "pfVar5[8] = 1.12104e-44" (subscript_expression "pfVar5[8]" (identifier "pfVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "1.12104e-44")) (; ";")) (} "}")))) (} "}")))) (expression_statement "*pfVar5 = 2.8026e-45;" (assignment_expression "*pfVar5 = 2.8026e-45" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (= "=") (number_literal "2.8026e-45")) (; ";")) (} "}")))) (labeled_statement "LAB_002b6bc4:\n    if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" (statement_identifier "LAB_002b6bc4") (: ":") (if_statement "if (((uint)local_c8 & 0xfffffff7) == 3) {\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }\n    else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" (if "if") (parenthesized_expression "(((uint)local_c8 & 0xfffffff7) == 3)" (( "(") (binary_expression "((uint)local_c8 & 0xfffffff7) == 3" (parenthesized_expression "((uint)local_c8 & 0xfffffff7)" (( "(") (binary_expression "(uint)local_c8 & 0xfffffff7" (cast_expression "(uint)local_c8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c8")) (& "&") (number_literal "0xfffffff7")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      pfVar5[0xa8] = 2.8026e-45;\n      pfVar5[2] = 2.24208e-44;\n      pfVar5[1] = 4.2039e-45;\n      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;\nLAB_002b7100:\n      pfVar5[2] = 2.66247e-44;\n    }" ({ "{") (expression_statement "pfVar5[0xa8] = 2.8026e-45;" (assignment_expression "pfVar5[0xa8] = 2.8026e-45" (subscript_expression "pfVar5[0xa8]" (identifier "pfVar5") ([ "[") (number_literal "0xa8") (] "]")) (= "=") (number_literal "2.8026e-45")) (; ";")) (expression_statement "pfVar5[2] = 2.24208e-44;" (assignment_expression "pfVar5[2] = 2.24208e-44" (subscript_expression "pfVar5[2]" (identifier "pfVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2.24208e-44")) (; ";")) (expression_statement "pfVar5[1] = 4.2039e-45;" (assignment_expression "pfVar5[1] = 4.2039e-45" (subscript_expression "pfVar5[1]" (identifier "pfVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "4.2039e-45")) (; ";")) (if_statement "if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;" (if "if") (parenthesized_expression "(((uint)local_c8 & 0xfffffffd) != 9)" (( "(") (binary_expression "((uint)local_c8 & 0xfffffffd) != 9" (parenthesized_expression "((uint)local_c8 & 0xfffffffd)" (( "(") (binary_expression "(uint)local_c8 & 0xfffffffd" (cast_expression "(uint)local_c8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c8")) (& "&") (number_literal "0xfffffffd")) () ")")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_002b6be8;" (goto "goto") (statement_identifier "LAB_002b6be8") (; ";"))) (labeled_statement "LAB_002b7100:\n      pfVar5[2] = 2.66247e-44;" (statement_identifier "LAB_002b7100") (: ":") (expression_statement "pfVar5[2] = 2.66247e-44;" (assignment_expression "pfVar5[2] = 2.66247e-44" (subscript_expression "pfVar5[2]" (identifier "pfVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2.66247e-44")) (; ";"))) (} "}")) (else_clause "else {\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" (else "else") (compound_statement "{\n      pfVar5[2] = 2.24208e-44;\n      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;\nLAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;\n    }" ({ "{") (expression_statement "pfVar5[2] = 2.24208e-44;" (assignment_expression "pfVar5[2] = 2.24208e-44" (subscript_expression "pfVar5[2]" (identifier "pfVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "2.24208e-44")) (; ";")) (if_statement "if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;" (if "if") (parenthesized_expression "(local_c8 == (float *)&DAT_00000009)" (( "(") (binary_expression "local_c8 == (float *)&DAT_00000009" (identifier "local_c8") (== "==") (cast_expression "(float *)&DAT_00000009" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) () ")")) (goto_statement "goto LAB_002b7100;" (goto "goto") (statement_identifier "LAB_002b7100") (; ";"))) (labeled_statement "LAB_002b6be8:\n      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;" (statement_identifier "LAB_002b6be8") (: ":") (if_statement "if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;" (if "if") (parenthesized_expression "(local_c8 == (float *)&DAT_0000000a)" (( "(") (binary_expression "local_c8 == (float *)&DAT_0000000a" (identifier "local_c8") (== "==") (cast_expression "(float *)&DAT_0000000a" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000000a" (& "&") (identifier "DAT_0000000a")))) () ")")) (goto_statement "goto LAB_002b7100;" (goto "goto") (statement_identifier "LAB_002b7100") (; ";")))) (} "}"))))) (expression_statement "puVar7 = PTR_GetBlobSize_003a94b8;" (assignment_expression "puVar7 = PTR_GetBlobSize_003a94b8" (identifier "puVar7") (= "=") (identifier "PTR_GetBlobSize_003a94b8")) (; ";")) (expression_statement "pfVar31 = local_c8;" (assignment_expression "pfVar31 = local_c8" (identifier "pfVar31") (= "=") (identifier "local_c8")) (; ";")) (if_statement "if (*pfVar5 == 2.8026e-45) {\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }" (if "if") (parenthesized_expression "(*pfVar5 == 2.8026e-45)" (( "(") (binary_expression "*pfVar5 == 2.8026e-45" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (number_literal "2.8026e-45")) () ")")) (compound_statement "{\n      if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }\n      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));\n      pfVar5[9] = fVar8;\n      uVar70 = (*(code *)puVar7)(pfVar5);\n      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }\n      uVar33 = 0x11a;\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_s_courses_003a88ec + 0x4a0;\n      uVar15 = 0x1a9;\nLAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);\n      goto LAB_002b6944;\n    }" ({ "{") (if_statement "if (local_c3 != '\0') {\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }" (if "if") (parenthesized_expression "(local_c3 != '\0')" (( "(") (binary_expression "local_c3 != '\0'" (identifier "local_c3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);\n        goto LAB_002b6c00;\n      }" ({ "{") (expression_statement "pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);" (assignment_expression "pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0)" (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(float)((uint)local_c2 + (uint)local_c0)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((uint)local_c2 + (uint)local_c0)" (( "(") (binary_expression "(uint)local_c2 + (uint)local_c0" (cast_expression "(uint)local_c2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c2")) (+ "+") (cast_expression "(uint)local_c0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c0"))) () ")")))) (; ";")) (goto_statement "goto LAB_002b6c00;" (goto "goto") (statement_identifier "LAB_002b6c00") (; ";")) (} "}"))) (expression_statement "fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));" (assignment_expression "fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f))" (identifier "fVar8") (= "=") (cast_expression "(float)(1 << ((uint)pfVar27 & 0x1f))" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(1 << ((uint)pfVar27 & 0x1f))" (( "(") (binary_expression "1 << ((uint)pfVar27 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((uint)pfVar27 & 0x1f)" (( "(") (binary_expression "(uint)pfVar27 & 0x1f" (cast_expression "(uint)pfVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pfVar27")) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "pfVar5[9] = fVar8;" (assignment_expression "pfVar5[9] = fVar8" (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "fVar8")) (; ";")) (expression_statement "uVar70 = (*(code *)puVar7)(pfVar5);" (assignment_expression "uVar70 = (*(code *)puVar7)(pfVar5)" (identifier "uVar70") (= "=") (call_expression "(*(code *)puVar7)(pfVar5)" (parenthesized_expression "(*(code *)puVar7)" (( "(") (pointer_expression "*(code *)puVar7" (* "*") (cast_expression "(code *)puVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70))" (( "(") (binary_expression "((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)" (parenthesized_expression "((int)((ulonglong)uVar70 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar70 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar70 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar70 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar70 >> 0x20" (cast_expression "(ulonglong)uVar70" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar70")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uint)fVar8 <= (uint)(float)uVar70)" (( "(") (binary_expression "(uint)fVar8 <= (uint)(float)uVar70" (cast_expression "(uint)fVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar8")) (<= "<=") (cast_expression "(uint)(float)uVar70" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(float)uVar70" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar70")))) () ")"))) () ")")) (compound_statement "{\n        pfVar27 = (float *)pfVar5[9];\n        pfVar31 = param_2;\n        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);\n        if (iVar6 != 0) goto LAB_002b6c00;\n        uVar33 = 0x11c;\n        goto LAB_002b7224;\n      }" ({ "{") (expression_statement "pfVar27 = (float *)pfVar5[9];" (assignment_expression "pfVar27 = (float *)pfVar5[9]" (identifier "pfVar27") (= "=") (cast_expression "(float *)pfVar5[9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "pfVar31 = param_2;" (assignment_expression "pfVar31 = param_2" (identifier "pfVar31") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5)" (parenthesized_expression "(*(code *)PTR_AcquireImageColormap_003a9194)" (( "(") (pointer_expression "*(code *)PTR_AcquireImageColormap_003a9194" (* "*") (cast_expression "(code *)PTR_AcquireImageColormap_003a9194" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireImageColormap_003a9194"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_002b6c00;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002b6c00;" (goto "goto") (statement_identifier "LAB_002b6c00") (; ";"))) (expression_statement "uVar33 = 0x11c;" (assignment_expression "uVar33 = 0x11c" (identifier "uVar33") (= "=") (number_literal "0x11c")) (; ";")) (goto_statement "goto LAB_002b7224;" (goto "goto") (statement_identifier "LAB_002b7224") (; ";")) (} "}"))) (expression_statement "uVar33 = 0x11a;" (assignment_expression "uVar33 = 0x11a" (identifier "uVar33") (= "=") (number_literal "0x11a")) (; ";")) (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" (identifier "puVar7") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3768")) () ")")))) (; ";")) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) () ")")))) (; ";")) (expression_statement "puVar14 = PTR_s_courses_003a88ec + 0x4a0;" (assignment_expression "puVar14 = PTR_s_courses_003a88ec + 0x4a0" (identifier "puVar14") (= "=") (binary_expression "PTR_s_courses_003a88ec + 0x4a0" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x4a0"))) (; ";")) (expression_statement "uVar15 = 0x1a9;" (assignment_expression "uVar15 = 0x1a9" (identifier "uVar15") (= "=") (number_literal "0x1a9")) (; ";")) (labeled_statement "LAB_002b725c:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);" (statement_identifier "LAB_002b725c") (: ":") (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210)" (( "(") (identifier "param_2") (, ",") (identifier "pfVar27") (, ",") (identifier "pfVar31") (, ",") (identifier "uVar33") (, ",") (identifier "uVar15") (, ",") (identifier "puVar14") (, ",") (identifier "puVar7") (, ",") (binary_expression "param_1 + 0x2210" (identifier "param_1") (+ "+") (number_literal "0x2210")) () ")"))) (; ";"))) (goto_statement "goto LAB_002b6944;" (goto "goto") (statement_identifier "LAB_002b6944") (; ";")) (} "}"))) (labeled_statement "LAB_002b6c00:\n    pfVar47 = (float *)(uint)local_c4;" (statement_identifier "LAB_002b6c00") (: ":") (expression_statement "pfVar47 = (float *)(uint)local_c4;" (assignment_expression "pfVar47 = (float *)(uint)local_c4" (identifier "pfVar47") (= "=") (cast_expression "(float *)(uint)local_c4" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_c4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c4")))) (; ";"))) (if_statement "if (pfVar47 != (float *)0x0) {\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }" (if "if") (parenthesized_expression "(pfVar47 != (float *)0x0)" (( "(") (binary_expression "pfVar47 != (float *)0x0" (identifier "pfVar47") (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);\n      if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }\n      uVar33 = 0x130;\nLAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n      puVar14 = PTR_LAB_003a88e0 + 0x16f8;\n      uVar15 = 400;\n      goto LAB_002b725c;\n    }" ({ "{") (expression_statement "pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);" (assignment_expression "pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" (identifier "pfVar12") (= "=") (cast_expression "(float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1)" (parenthesized_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)" (( "(") (pointer_expression "*(code *)PTR_AcquireQuantumMemory_003a950c" (* "*") (cast_expression "(code *)PTR_AcquireQuantumMemory_003a950c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireQuantumMemory_003a950c"))) () ")")) (argument_list "(pfVar47 + 0x400,1)" (( "(") (binary_expression "pfVar47 + 0x400" (identifier "pfVar47") (+ "+") (number_literal "0x400")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (pfVar12 != (float *)0x0) {\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }" (if "if") (parenthesized_expression "(pfVar12 != (float *)0x0)" (( "(") (binary_expression "pfVar12 != (float *)0x0" (identifier "pfVar12") (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pfVar27 = pfVar47;\n        pfVar31 = pfVar12;\n        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);\n        puVar7 = PTR_SetImageProperty_003a9534;\n        if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }\n        (*(code *)PTR_DestroyString_003a9074)(pfVar12);\n        goto LAB_002b6c0c;\n      }" ({ "{") (expression_statement "pfVar27 = pfVar47;" (assignment_expression "pfVar27 = pfVar47" (identifier "pfVar27") (= "=") (identifier "pfVar47")) (; ";")) (expression_statement "pfVar31 = pfVar12;" (assignment_expression "pfVar31 = pfVar12" (identifier "pfVar31") (= "=") (identifier "pfVar12")) (; ";")) (expression_statement "pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);" (assignment_expression "pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" (identifier "pfVar13") (= "=") (cast_expression "(float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))))) (; ";")) (expression_statement "puVar7 = PTR_SetImageProperty_003a9534;" (assignment_expression "puVar7 = PTR_SetImageProperty_003a9534" (identifier "puVar7") (= "=") (identifier "PTR_SetImageProperty_003a9534")) (; ";")) (if_statement "if (pfVar47 == pfVar13) {\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }" (if "if") (parenthesized_expression "(pfVar47 == pfVar13)" (( "(") (binary_expression "pfVar47 == pfVar13" (identifier "pfVar47") (== "==") (identifier "pfVar13")) () ")")) (compound_statement "{\n          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);\n          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;\n          pfVar31 = pfVar12;\n          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);\n        }" ({ "{") (expression_statement "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);" (assignment_expression "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x1928")) () ")")))) (; ";")) (expression_statement "*(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;" (assignment_expression "*(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0" (pointer_expression "*(undefined1 *)((int)pfVar12 + (int)pfVar47)" (* "*") (cast_expression "(undefined1 *)((int)pfVar12 + (int)pfVar47)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar12 + (int)pfVar47)" (( "(") (binary_expression "(int)pfVar12 + (int)pfVar47" (cast_expression "(int)pfVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar12")) (+ "+") (cast_expression "(int)pfVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar47"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar31 = pfVar12;" (assignment_expression "pfVar31 = pfVar12" (identifier "pfVar31") (= "=") (identifier "pfVar12")) (; ";")) (expression_statement "(*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);" (call_expression "(*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2)" (parenthesized_expression "(*(code *)puVar7)" (( "(") (pointer_expression "*(code *)puVar7" (* "*") (cast_expression "(code *)puVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) () ")")) (argument_list "(pfVar5,pfVar27,pfVar12,param_2)" (( "(") (identifier "pfVar5") (, ",") (identifier "pfVar27") (, ",") (identifier "pfVar12") (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(pfVar12);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(pfVar12)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")")) (argument_list "(pfVar12)" (( "(") (identifier "pfVar12") () ")"))) (; ";")) (goto_statement "goto LAB_002b6c0c;" (goto "goto") (statement_identifier "LAB_002b6c0c") (; ";")) (} "}"))) (expression_statement "uVar33 = 0x130;" (assignment_expression "uVar33 = 0x130" (identifier "uVar33") (= "=") (number_literal "0x130")) (; ";")) (labeled_statement "LAB_002b7224:\n      puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (statement_identifier "LAB_002b7224") (: ":") (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" (identifier "puVar7") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28"))) (; ";"))) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3768")) () ")")))) (; ";")) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) () ")")))) (; ";")) (expression_statement "puVar14 = PTR_LAB_003a88e0 + 0x16f8;" (assignment_expression "puVar14 = PTR_LAB_003a88e0 + 0x16f8" (identifier "puVar14") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x16f8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x16f8"))) (; ";")) (expression_statement "uVar15 = 400;" (assignment_expression "uVar15 = 400" (identifier "uVar15") (= "=") (number_literal "400")) (; ";")) (goto_statement "goto LAB_002b725c;" (goto "goto") (statement_identifier "LAB_002b725c") (; ";")) (} "}"))) (labeled_statement "LAB_002b6c0c:\n    pfVar5[4] = 5.60519e-45;" (statement_identifier "LAB_002b6c0c") (: ":") (expression_statement "pfVar5[4] = 5.60519e-45;" (assignment_expression "pfVar5[4] = 5.60519e-45" (subscript_expression "pfVar5[4]" (identifier "pfVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "5.60519e-45")) (; ";"))) (if_statement "if ((local_b3 & 0x10) == 0) {\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }\n    else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" (if "if") (parenthesized_expression "((local_b3 & 0x10) == 0)" (( "(") (binary_expression "(local_b3 & 0x10) == 0" (parenthesized_expression "(local_b3 & 0x10)" (( "(") (binary_expression "local_b3 & 0x10" (identifier "local_b3") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }\n    }" ({ "{") (if_statement "if ((local_b3 & 0x20) != 0) {\n        pfVar5[4] = 1.4013e-45;\n      }" (if "if") (parenthesized_expression "((local_b3 & 0x20) != 0)" (( "(") (binary_expression "(local_b3 & 0x20) != 0" (parenthesized_expression "(local_b3 & 0x20)" (( "(") (binary_expression "local_b3 & 0x20" (identifier "local_b3") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pfVar5[4] = 1.4013e-45;\n      }" ({ "{") (expression_statement "pfVar5[4] = 1.4013e-45;" (assignment_expression "pfVar5[4] = 1.4013e-45" (subscript_expression "pfVar5[4]" (identifier "pfVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "1.4013e-45")) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" (else "else") (if_statement "if ((local_b3 & 0x20) == 0) {\n      pfVar5[4] = 4.2039e-45;\n    }\n    else {\n      pfVar5[4] = 2.8026e-45;\n    }" (if "if") (parenthesized_expression "((local_b3 & 0x20) == 0)" (( "(") (binary_expression "(local_b3 & 0x20) == 0" (parenthesized_expression "(local_b3 & 0x20)" (( "(") (binary_expression "local_b3 & 0x20" (identifier "local_b3") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pfVar5[4] = 4.2039e-45;\n    }" ({ "{") (expression_statement "pfVar5[4] = 4.2039e-45;" (assignment_expression "pfVar5[4] = 4.2039e-45" (subscript_expression "pfVar5[4]" (identifier "pfVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "4.2039e-45")) (; ";")) (} "}")) (else_clause "else {\n      pfVar5[4] = 2.8026e-45;\n    }" (else "else") (compound_statement "{\n      pfVar5[4] = 2.8026e-45;\n    }" ({ "{") (expression_statement "pfVar5[4] = 2.8026e-45;" (assignment_expression "pfVar5[4] = 2.8026e-45" (subscript_expression "pfVar5[4]" (identifier "pfVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "2.8026e-45")) (; ";")) (} "}")))))) (if_statement "if (*(int *)(param_1 + 0x1dc) == 0) {\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }\n    else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1dc) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1dc) == 0" (pointer_expression "*(int *)(param_1 + 0x1dc)" (* "*") (cast_expression "(int *)(param_1 + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1dc)" (( "(") (binary_expression "param_1 + 0x1dc" (identifier "param_1") (+ "+") (number_literal "0x1dc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pfVar31 = (float *)pfVar5[7];\n      pfVar27 = (float *)pfVar5[6];\n      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);\n      puVar7 = PTR_LAB_003a88e0;\n      if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }\n    }" ({ "{") (expression_statement "pfVar31 = (float *)pfVar5[7];" (assignment_expression "pfVar31 = (float *)pfVar5[7]" (identifier "pfVar31") (= "=") (cast_expression "(float *)pfVar5[7]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[7]" (identifier "pfVar5") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "pfVar27 = (float *)pfVar5[6];" (assignment_expression "pfVar27 = (float *)pfVar5[6]" (identifier "pfVar27") (= "=") (cast_expression "(float *)pfVar5[6]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2)" (parenthesized_expression "(*(code *)PTR_SetImageExtent_003a94ac)" (( "(") (pointer_expression "*(code *)PTR_SetImageExtent_003a94ac" (* "*") (cast_expression "(code *)PTR_SetImageExtent_003a94ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageExtent_003a94ac"))) () ")")) (argument_list "(pfVar5,pfVar27,pfVar31,param_2)" (( "(") (identifier "pfVar5") (, ",") (identifier "pfVar27") (, ",") (identifier "pfVar31") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "puVar7 = PTR_LAB_003a88e0;" (assignment_expression "puVar7 = PTR_LAB_003a88e0" (identifier "puVar7") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (if_statement "if (iVar6 == 0) {\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }\n      else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n      }" ({ "{") (expression_statement "pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (assignment_expression "pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (identifier "pfVar47") (= "=") (cast_expression "(float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" (* "*") (cast_expression "(code *)PTR_DestroyImageList_003a9510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageList_003a9510"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" (else "else") (compound_statement "{\n        pfVar31 = (float *)0x58;\n        pfVar27 = (float *)0x0;\n        (*(code *)PTR_memset_003a96d4)(local_b0);\n        puVar14 = PTR_AcquireImageColormap_003a9194;\n        local_68 = *(double *)(puVar7 + 0x1a58);\n        if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }\n        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;\n        local_c9 = '\0';\n        if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }\n        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);\n        if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }\n        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);\n      }" ({ "{") (expression_statement "pfVar31 = (float *)0x58;" (assignment_expression "pfVar31 = (float *)0x58" (identifier "pfVar31") (= "=") (cast_expression "(float *)0x58" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x58"))) (; ";")) (expression_statement "pfVar27 = (float *)0x0;" (assignment_expression "pfVar27 = (float *)0x0" (identifier "pfVar27") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)PTR_memset_003a96d4)(local_b0);" (call_expression "(*(code *)PTR_memset_003a96d4)(local_b0)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" (( "(") (pointer_expression "*(code *)PTR_memset_003a96d4" (* "*") (cast_expression "(code *)PTR_memset_003a96d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_003a96d4"))) () ")")) (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))) (; ";")) (expression_statement "puVar14 = PTR_AcquireImageColormap_003a9194;" (assignment_expression "puVar14 = PTR_AcquireImageColormap_003a9194" (identifier "puVar14") (= "=") (identifier "PTR_AcquireImageColormap_003a9194")) (; ";")) (expression_statement "local_68 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "local_68 = *(double *)(puVar7 + 0x1a58)" (identifier "local_68") (= "=") (pointer_expression "*(double *)(puVar7 + 0x1a58)" (* "*") (cast_expression "(double *)(puVar7 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x1a58)" (( "(") (binary_expression "puVar7 + 0x1a58" (identifier "puVar7") (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (if_statement "if (local_c3 != '\0') {\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }" (if "if") (parenthesized_expression "(local_c3 != '\0')" (( "(") (binary_expression "local_c3 != '\0'" (identifier "local_c3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pfVar31 = (float *)(uint)local_c2;\n          pfVar27 = (float *)pfVar5[9];\n          if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }\n          pfVar31 = param_2;\n          iVar6 = (*(code *)puVar14)(pfVar5);\n          if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }\n          uVar17 = (uint)local_c2;\n          if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }\n          if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }\n        }" ({ "{") (expression_statement "pfVar31 = (float *)(uint)local_c2;" (assignment_expression "pfVar31 = (float *)(uint)local_c2" (identifier "pfVar31") (= "=") (cast_expression "(float *)(uint)local_c2" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)local_c2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c2")))) (; ";")) (expression_statement "pfVar27 = (float *)pfVar5[9];" (assignment_expression "pfVar27 = (float *)pfVar5[9]" (identifier "pfVar27") (= "=") (cast_expression "(float *)pfVar5[9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")))) (; ";")) (if_statement "if ((float *)pfVar5[9] < pfVar31) {\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }" (if "if") (parenthesized_expression "((float *)pfVar5[9] < pfVar31)" (( "(") (binary_expression "(float *)pfVar5[9] < pfVar31" (cast_expression "(float *)pfVar5[9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]"))) (< "<") (identifier "pfVar31")) () ")")) (compound_statement "{\n            pfVar5[9] = (float)pfVar31;\n            pfVar27 = pfVar31;\n          }" ({ "{") (expression_statement "pfVar5[9] = (float)pfVar31;" (assignment_expression "pfVar5[9] = (float)pfVar31" (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(float)pfVar31" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "pfVar31"))) (; ";")) (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" (identifier "pfVar27") (= "=") (identifier "pfVar31")) (; ";")) (} "}"))) (expression_statement "pfVar31 = param_2;" (assignment_expression "pfVar31 = param_2" (identifier "pfVar31") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar6 = (*(code *)puVar14)(pfVar5);" (assignment_expression "iVar6 = (*(code *)puVar14)(pfVar5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)puVar14)(pfVar5)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar33 = 0x15a;\n            goto LAB_002b7224;\n          }" ({ "{") (expression_statement "uVar33 = 0x15a;" (assignment_expression "uVar33 = 0x15a" (identifier "uVar33") (= "=") (number_literal "0x15a")) (; ";")) (goto_statement "goto LAB_002b7224;" (goto "goto") (statement_identifier "LAB_002b7224") (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)local_c2;" (assignment_expression "uVar17 = (uint)local_c2" (identifier "uVar17") (= "=") (cast_expression "(uint)local_c2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_c2"))) (; ";")) (if_statement "if (uVar17 != 0) {\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }" (if "if") (parenthesized_expression "(uVar17 != 0)" (( "(") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            puVar25 = (undefined4 *)pfVar5[10];\n            puVar40 = puVar25 + uVar17 * 0x16;\n            ppfVar9 = local_b0;\n            puVar16 = puVar25;\n            do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);\n          }" ({ "{") (expression_statement "puVar25 = (undefined4 *)pfVar5[10];" (assignment_expression "puVar25 = (undefined4 *)pfVar5[10]" (identifier "puVar25") (= "=") (cast_expression "(undefined4 *)pfVar5[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[10]" (identifier "pfVar5") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "puVar40 = puVar25 + uVar17 * 0x16;" (assignment_expression "puVar40 = puVar25 + uVar17 * 0x16" (identifier "puVar40") (= "=") (binary_expression "puVar25 + uVar17 * 0x16" (identifier "puVar25") (+ "+") (binary_expression "uVar17 * 0x16" (identifier "uVar17") (* "*") (number_literal "0x16")))) (; ";")) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" (identifier "ppfVar9") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "puVar16 = puVar25;" (assignment_expression "puVar16 = puVar25" (identifier "puVar16") (= "=") (identifier "puVar25")) (; ";")) (do_statement "do {\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            } while (puVar40 != puVar25);" (do "do") (compound_statement "{\n              do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);\n              puVar25 = puVar25 + 0x16;\n              puVar22[4] = local_60;\n              puVar22[5] = local_5c;\n              ppfVar9 = local_b0;\n              puVar16 = puVar25;\n              pfVar27 = local_60;\n            }" ({ "{") (do_statement "do {\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              } while (ppfVar10 != &local_60);" (do "do") (compound_statement "{\n                puVar22 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar47 = ppfVar9[1];\n                pfVar31 = ppfVar9[2];\n                pfVar27 = ppfVar9[3];\n                *puVar22 = *ppfVar9;\n                puVar22[1] = pfVar47;\n                puVar22[2] = pfVar31;\n                puVar22[3] = pfVar27;\n                ppfVar9 = ppfVar10;\n                puVar16 = puVar22 + 4;\n              }" ({ "{") (expression_statement "puVar22 = puVar16;" (assignment_expression "puVar22 = puVar16" (identifier "puVar22") (= "=") (identifier "puVar16")) (; ";")) (expression_statement "ppfVar10 = ppfVar9 + 4;" (assignment_expression "ppfVar10 = ppfVar9 + 4" (identifier "ppfVar10") (= "=") (binary_expression "ppfVar9 + 4" (identifier "ppfVar9") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar47 = ppfVar9[1];" (assignment_expression "pfVar47 = ppfVar9[1]" (identifier "pfVar47") (= "=") (subscript_expression "ppfVar9[1]" (identifier "ppfVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pfVar31 = ppfVar9[2];" (assignment_expression "pfVar31 = ppfVar9[2]" (identifier "pfVar31") (= "=") (subscript_expression "ppfVar9[2]" (identifier "ppfVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pfVar27 = ppfVar9[3];" (assignment_expression "pfVar27 = ppfVar9[3]" (identifier "pfVar27") (= "=") (subscript_expression "ppfVar9[3]" (identifier "ppfVar9") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar22 = *ppfVar9;" (assignment_expression "*puVar22 = *ppfVar9" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (pointer_expression "*ppfVar9" (* "*") (identifier "ppfVar9"))) (; ";")) (expression_statement "puVar22[1] = pfVar47;" (assignment_expression "puVar22[1] = pfVar47" (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pfVar47")) (; ";")) (expression_statement "puVar22[2] = pfVar31;" (assignment_expression "puVar22[2] = pfVar31" (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "puVar22[3] = pfVar27;" (assignment_expression "puVar22[3] = pfVar27" (subscript_expression "puVar22[3]" (identifier "puVar22") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "pfVar27")) (; ";")) (expression_statement "ppfVar9 = ppfVar10;" (assignment_expression "ppfVar9 = ppfVar10" (identifier "ppfVar9") (= "=") (identifier "ppfVar10")) (; ";")) (expression_statement "puVar16 = puVar22 + 4;" (assignment_expression "puVar16 = puVar22 + 4" (identifier "puVar16") (= "=") (binary_expression "puVar22 + 4" (identifier "puVar22") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppfVar10 != &local_60)" (( "(") (binary_expression "ppfVar10 != &local_60" (identifier "ppfVar10") (!= "!=") (pointer_expression "&local_60" (& "&") (identifier "local_60"))) () ")")) (; ";")) (expression_statement "puVar25 = puVar25 + 0x16;" (assignment_expression "puVar25 = puVar25 + 0x16" (identifier "puVar25") (= "=") (binary_expression "puVar25 + 0x16" (identifier "puVar25") (+ "+") (number_literal "0x16"))) (; ";")) (expression_statement "puVar22[4] = local_60;" (assignment_expression "puVar22[4] = local_60" (subscript_expression "puVar22[4]" (identifier "puVar22") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "puVar22[5] = local_5c;" (assignment_expression "puVar22[5] = local_5c" (subscript_expression "puVar22[5]" (identifier "puVar22") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" (identifier "ppfVar9") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "puVar16 = puVar25;" (assignment_expression "puVar16 = puVar25" (identifier "puVar16") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "pfVar27 = local_60;" (assignment_expression "pfVar27 = local_60" (identifier "pfVar27") (= "=") (identifier "local_60")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar40 != puVar25)" (( "(") (binary_expression "puVar40 != puVar25" (identifier "puVar40") (!= "!=") (identifier "puVar25")) () ")")) (; ";")) (} "}"))) (if_statement "if ((int)uVar17 < (int)pfVar5[9]) {\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }" (if "if") (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" (( "(") (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (< "<") (cast_expression "(int)pfVar5[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n            iVar6 = uVar17 * 0x58;\n            dVar65 = *(double *)(puVar7 + 0x1a58);\n            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n            dVar67 = dVar60;\n            dVar69 = dVar60;\n            do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);\n          }" ({ "{") (expression_statement "iVar6 = uVar17 * 0x58;" (assignment_expression "iVar6 = uVar17 * 0x58" (identifier "iVar6") (= "=") (binary_expression "uVar17 * 0x58" (identifier "uVar17") (* "*") (number_literal "0x58"))) (; ";")) (expression_statement "dVar65 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "dVar65 = *(double *)(puVar7 + 0x1a58)" (identifier "dVar65") (= "=") (pointer_expression "*(double *)(puVar7 + 0x1a58)" (* "*") (cast_expression "(double *)(puVar7 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x1a58)" (( "(") (binary_expression "puVar7 + 0x1a58" (identifier "puVar7") (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (identifier "dVar60") (= "=") (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (identifier "dVar62") (= "=") (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (* "*") (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x37b0")) () ")"))))) (; ";")) (expression_statement "dVar67 = dVar60;" (assignment_expression "dVar67 = dVar60" (identifier "dVar67") (= "=") (identifier "dVar60")) (; ";")) (expression_statement "dVar69 = dVar60;" (assignment_expression "dVar69 = dVar60" (identifier "dVar69") (= "=") (identifier "dVar60")) (; ";")) (do_statement "do {\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            } while ((int)uVar17 < (int)pfVar5[9]);" (do "do") (compound_statement "{\n              uVar26 = (uint)local_be;\n              if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }\n              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);\n              ppfVar9 = local_b0;\n              do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);\n              uVar17 = uVar17 + 1;\n              puVar25[4] = local_60;\n              puVar25[5] = local_5c;\n              iVar6 = iVar6 + 0x58;\n            }" ({ "{") (expression_statement "uVar26 = (uint)local_be;" (assignment_expression "uVar26 = (uint)local_be" (identifier "uVar26") (= "=") (cast_expression "(uint)local_be" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_be"))) (; ";")) (if_statement "if (uVar26 == 0x18) {\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }\n              else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" (if "if") (parenthesized_expression "(uVar26 == 0x18)" (( "(") (binary_expression "uVar26 == 0x18" (identifier "uVar26") (== "==") (number_literal "0x18")) () ")")) (compound_statement "{\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar60);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar60);\n              }" ({ "{") (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_78 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_78 = (double)(float)((double)bVar36 * dVar60)" (identifier "local_78") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar60)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar60)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar60)" (( "(") (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar60")) () ")"))))) (; ";")) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_80 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_80 = (double)(float)((double)bVar36 * dVar60)" (identifier "local_80") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar60)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar60)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar60)" (( "(") (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar60")) () ")"))))) (; ";")) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar60);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar60)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar60)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar60)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar60)" (( "(") (binary_expression "(double)bVar36 * dVar60" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar60")) () ")"))))) (; ";")) (} "}")) (else_clause "else if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" (else "else") (if_statement "if (uVar26 < 0x19) {\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }\n              else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" (if "if") (parenthesized_expression "(uVar26 < 0x19)" (( "(") (binary_expression "uVar26 < 0x19" (identifier "uVar26") (< "<") (number_literal "0x19")) () ")")) (compound_statement "{\n                if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }\n              }" ({ "{") (if_statement "if (uVar26 - 0xf < 2) {\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }\n                else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" (if "if") (parenthesized_expression "(uVar26 - 0xf < 2)" (( "(") (binary_expression "uVar26 - 0xf < 2" (binary_expression "uVar26 - 0xf" (identifier "uVar26") (- "-") (number_literal "0xf")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);\n                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);\n                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);\n                }" ({ "{") (expression_statement "uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "uVar26") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "uVar18") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);" (assignment_expression "local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65)" (( "(") (binary_expression "(double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65" (binary_expression "(double)((uVar18 << 0x19) >> 0x1b) * dVar62" (cast_expression "(double)((uVar18 << 0x19) >> 0x1b)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((uVar18 << 0x19) >> 0x1b)" (( "(") (binary_expression "(uVar18 << 0x19) >> 0x1b" (parenthesized_expression "(uVar18 << 0x19)" (( "(") (binary_expression "uVar18 << 0x19" (identifier "uVar18") (<< "<<") (number_literal "0x19")) () ")")) (>> ">>") (number_literal "0x1b")) () ")"))) (* "*") (identifier "dVar62")) (* "*") (identifier "dVar65")) () ")"))))) (; ";")) (expression_statement "local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);" (assignment_expression "local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" (identifier "local_78") (= "=") (cast_expression "(double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)(uVar26 & 0x1f) * dVar62 * dVar65)" (( "(") (binary_expression "(double)(uVar26 & 0x1f) * dVar62 * dVar65" (binary_expression "(double)(uVar26 & 0x1f) * dVar62" (cast_expression "(double)(uVar26 & 0x1f)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")"))) (* "*") (identifier "dVar62")) (* "*") (identifier "dVar65")) () ")"))))) (; ";")) (expression_statement "local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65);" (assignment_expression "local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" (identifier "local_80") (= "=") (cast_expression "(double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65)" (( "(") (binary_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62 * dVar65" (binary_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *\n                                             dVar62" (cast_expression "(double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5))" (( "(") (binary_expression "(uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)" (binary_expression "(uVar18 & 3) * 8" (parenthesized_expression "(uVar18 & 3)" (( "(") (binary_expression "uVar18 & 3" (identifier "uVar18") (& "&") (number_literal "3")) () ")")) (* "*") (number_literal "8")) (+ "+") (parenthesized_expression "((uVar26 & 0xff) >> 5)" (( "(") (binary_expression "(uVar26 & 0xff) >> 5" (parenthesized_expression "(uVar26 & 0xff)" (( "(") (binary_expression "uVar26 & 0xff" (identifier "uVar26") (& "&") (number_literal "0xff")) () ")")) (>> ">>") (number_literal "5")) () ")"))) () ")"))) (* "*") (identifier "dVar62")) (* "*") (identifier "dVar65")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" (else "else") (compound_statement "{\nLAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                  local_88 = (double)(float)((double)bVar36 * dVar69);\n                  local_80 = local_88;\n                  local_78 = local_88;\n                }" ({ "{") (labeled_statement "LAB_002b7684:\n                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (statement_identifier "LAB_002b7684") (: ":") (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";"))) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar69);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar69)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar69)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar69)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar69)" (( "(") (binary_expression "(double)bVar36 * dVar69" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar69")) () ")"))))) (; ";")) (expression_statement "local_80 = local_88;" (assignment_expression "local_80 = local_88" (identifier "local_80") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_78 = local_88;" (assignment_expression "local_78 = local_88" (identifier "local_78") (= "=") (identifier "local_88")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" (else "else") (compound_statement "{\n                if (uVar26 != 0x20) goto LAB_002b7684;\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_78 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_80 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_88 = (double)(float)((double)bVar36 * dVar67);\n                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);\n                local_68 = (double)(float)((double)bVar36 * dVar67);\n              }" ({ "{") (if_statement "if (uVar26 != 0x20) goto LAB_002b7684;" (if "if") (parenthesized_expression "(uVar26 != 0x20)" (( "(") (binary_expression "uVar26 != 0x20" (identifier "uVar26") (!= "!=") (number_literal "0x20")) () ")")) (goto_statement "goto LAB_002b7684;" (goto "goto") (statement_identifier "LAB_002b7684") (; ";"))) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_78 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_78 = (double)(float)((double)bVar36 * dVar67)" (identifier "local_78") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar67)" (( "(") (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar67")) () ")"))))) (; ";")) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_80 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_80 = (double)(float)((double)bVar36 * dVar67)" (identifier "local_80") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar67)" (( "(") (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar67")) () ")"))))) (; ";")) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_88 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_88 = (double)(float)((double)bVar36 * dVar67)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar67)" (( "(") (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar67")) () ")"))))) (; ";")) (expression_statement "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);" (assignment_expression "bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (identifier "bVar36") (= "=") (call_expression "(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5)" (parenthesized_expression "(*(code *)PTR_ReadBlobByte_003a97f0)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobByte_003a97f0" (* "*") (cast_expression "(code *)PTR_ReadBlobByte_003a97f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobByte_003a97f0"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (expression_statement "local_68 = (double)(float)((double)bVar36 * dVar67);" (assignment_expression "local_68 = (double)(float)((double)bVar36 * dVar67)" (identifier "local_68") (= "=") (cast_expression "(double)(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)bVar36 * dVar67)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)bVar36 * dVar67)" (( "(") (binary_expression "(double)bVar36 * dVar67" (cast_expression "(double)bVar36" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "bVar36")) (* "*") (identifier "dVar67")) () ")"))))) (; ";")) (} "}")))))) (expression_statement "puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);" (assignment_expression "puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6)" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)((int)pfVar5[10] + iVar6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar5[10] + iVar6)" (( "(") (binary_expression "(int)pfVar5[10] + iVar6" (cast_expression "(int)pfVar5[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[10]" (identifier "pfVar5") ([ "[") (number_literal "10") (] "]"))) (+ "+") (identifier "iVar6")) () ")")))) (; ";")) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" (identifier "ppfVar9") (= "=") (identifier "local_b0")) (; ";")) (do_statement "do {\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              } while (ppfVar10 != &local_60);" (do "do") (compound_statement "{\n                puVar25 = puVar16;\n                ppfVar10 = ppfVar9 + 4;\n                pfVar31 = ppfVar9[1];\n                pfVar27 = ppfVar9[2];\n                pfVar47 = ppfVar9[3];\n                *puVar25 = *ppfVar9;\n                puVar25[1] = pfVar31;\n                puVar25[2] = pfVar27;\n                puVar25[3] = pfVar47;\n                puVar16 = puVar25 + 4;\n                ppfVar9 = ppfVar10;\n              }" ({ "{") (expression_statement "puVar25 = puVar16;" (assignment_expression "puVar25 = puVar16" (identifier "puVar25") (= "=") (identifier "puVar16")) (; ";")) (expression_statement "ppfVar10 = ppfVar9 + 4;" (assignment_expression "ppfVar10 = ppfVar9 + 4" (identifier "ppfVar10") (= "=") (binary_expression "ppfVar9 + 4" (identifier "ppfVar9") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar31 = ppfVar9[1];" (assignment_expression "pfVar31 = ppfVar9[1]" (identifier "pfVar31") (= "=") (subscript_expression "ppfVar9[1]" (identifier "ppfVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pfVar27 = ppfVar9[2];" (assignment_expression "pfVar27 = ppfVar9[2]" (identifier "pfVar27") (= "=") (subscript_expression "ppfVar9[2]" (identifier "ppfVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pfVar47 = ppfVar9[3];" (assignment_expression "pfVar47 = ppfVar9[3]" (identifier "pfVar47") (= "=") (subscript_expression "ppfVar9[3]" (identifier "ppfVar9") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar25 = *ppfVar9;" (assignment_expression "*puVar25 = *ppfVar9" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (pointer_expression "*ppfVar9" (* "*") (identifier "ppfVar9"))) (; ";")) (expression_statement "puVar25[1] = pfVar31;" (assignment_expression "puVar25[1] = pfVar31" (subscript_expression "puVar25[1]" (identifier "puVar25") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "puVar25[2] = pfVar27;" (assignment_expression "puVar25[2] = pfVar27" (subscript_expression "puVar25[2]" (identifier "puVar25") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pfVar27")) (; ";")) (expression_statement "puVar25[3] = pfVar47;" (assignment_expression "puVar25[3] = pfVar47" (subscript_expression "puVar25[3]" (identifier "puVar25") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "pfVar47")) (; ";")) (expression_statement "puVar16 = puVar25 + 4;" (assignment_expression "puVar16 = puVar25 + 4" (identifier "puVar16") (= "=") (binary_expression "puVar25 + 4" (identifier "puVar25") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "ppfVar9 = ppfVar10;" (assignment_expression "ppfVar9 = ppfVar10" (identifier "ppfVar9") (= "=") (identifier "ppfVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppfVar10 != &local_60)" (( "(") (binary_expression "ppfVar10 != &local_60" (identifier "ppfVar10") (!= "!=") (pointer_expression "&local_60" (& "&") (identifier "local_60"))) () ")")) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar25[4] = local_60;" (assignment_expression "puVar25[4] = local_60" (subscript_expression "puVar25[4]" (identifier "puVar25") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "puVar25[5] = local_5c;" (assignment_expression "puVar25[5] = local_5c" (subscript_expression "puVar25[5]" (identifier "puVar25") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "iVar6 = iVar6 + 0x58;" (assignment_expression "iVar6 = iVar6 + 0x58" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 0x58" (identifier "iVar6") (+ "+") (number_literal "0x58"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" (( "(") (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (< "<") (cast_expression "(int)pfVar5[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")))) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8" (identifier "puVar14") (= "=") (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8")) (; ";")) (expression_statement "local_c9 = '\0';" (assignment_expression "local_c9 = '\0'" (identifier "local_c9") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0 < (int)pfVar5[7]) {\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }" (if "if") (parenthesized_expression "(0 < (int)pfVar5[7])" (( "(") (binary_expression "0 < (int)pfVar5[7]" (number_literal "0") (< "<") (cast_expression "(int)pfVar5[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[7]" (identifier "pfVar5") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n          uVar64 = 0;\n          bVar1 = false;\n          bVar2 = false;\n          local_f0 = (float *)0x0;\n          local_ec = 0;\n          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);\n          local_f8 = (float *)0x0;\n          local_e4 = (float *)0x0;\n          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);\n          puVar11 = PTR_LAB_003a88e0 + 0x3e28;\n          do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);\n        }" ({ "{") (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" (identifier "uVar64") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "local_f0 = (float *)0x0;" (assignment_expression "local_f0 = (float *)0x0" (identifier "local_f0") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_ec = 0;" (assignment_expression "local_ec = 0" (identifier "local_ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);" (assignment_expression "dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (identifier "dVar69") (= "=") (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "local_f8 = (float *)0x0;" (assignment_expression "local_f8 = (float *)0x0" (identifier "local_f8") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_e4 = (float *)0x0;" (assignment_expression "local_e4 = (float *)0x0" (identifier "local_e4") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);" (assignment_expression "dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (identifier "dVar67") (= "=") (pointer_expression "*(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (* "*") (cast_expression "(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x37b0")) () ")"))))) (; ";")) (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0x3e28" (identifier "puVar11") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28"))) (; ";")) (do_statement "do {\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          } while ((int)uVar17 < (int)fVar8);" (do "do") (compound_statement "{\n            pfVar27 = (float *)0x0;\n            pfVar31 = local_f8;\n            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);\n            puVar3 = PTR_s_t_to_left_003a88e4;\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[6];\n            if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }\n            if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }\n            if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }\n            pfVar27 = param_2;\n            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);\n            if (iVar6 == 0) break;\n            fVar8 = pfVar5[7];\n            if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }\n            uVar17 = local_ec + 1;\n            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);\n            local_ec = uVar17;\n          }" ({ "{") (expression_statement "pfVar27 = (float *)0x0;" (assignment_expression "pfVar27 = (float *)0x0" (identifier "pfVar27") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pfVar31 = local_f8;" (assignment_expression "pfVar31 = local_f8" (identifier "pfVar31") (= "=") (identifier "local_f8")) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);" (assignment_expression "iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)\n                              (pfVar5,0,local_f8,pfVar5[6],1,param_2)" (parenthesized_expression "(*(code *)PTR_QueueAuthenticPixels_003a8f24)" (( "(") (pointer_expression "*(code *)PTR_QueueAuthenticPixels_003a8f24" (* "*") (cast_expression "(code *)PTR_QueueAuthenticPixels_003a8f24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_QueueAuthenticPixels_003a8f24"))) () ")")) (argument_list "(pfVar5,0,local_f8,pfVar5[6],1,param_2)" (( "(") (identifier "pfVar5") (, ",") (number_literal "0") (, ",") (identifier "local_f8") (, ",") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "puVar3 = PTR_s_t_to_left_003a88e4;" (assignment_expression "puVar3 = PTR_s_t_to_left_003a88e4" (identifier "puVar3") (= "=") (identifier "PTR_s_t_to_left_003a88e4")) (; ";")) (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (0 < (int)fVar8) {\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }" (if "if") (parenthesized_expression "(0 < (int)fVar8)" (( "(") (binary_expression "0 < (int)fVar8" (number_literal "0") (< "<") (cast_expression "(int)fVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar8"))) () ")")) (compound_statement "{\n              iVar37 = 0;\n              dVar60 = *(double *)(puVar14 + -0x5af0);\n              do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);\n            }" ({ "{") (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" (identifier "iVar37") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar60 = *(double *)(puVar14 + -0x5af0);" (assignment_expression "dVar60 = *(double *)(puVar14 + -0x5af0)" (identifier "dVar60") (= "=") (pointer_expression "*(double *)(puVar14 + -0x5af0)" (* "*") (cast_expression "(double *)(puVar14 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x5af0)" (( "(") (binary_expression "puVar14 + -0x5af0" (identifier "puVar14") (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (do_statement "do {\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              } while (iVar37 < (int)fVar8);" (do "do") (compound_statement "{\n                cVar4 = local_c9;\n                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }\n                local_c9 = cVar4;\n                if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }\n                iVar23 = *(int *)((int)fVar50 + 0x20);\n                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);\n                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;\n                *pfVar31 = (float)dVar65;\n                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;\n                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }\n                iVar37 = iVar37 + 1;\n                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;\n              }" ({ "{") (expression_statement "cVar4 = local_c9;" (assignment_expression "cVar4 = local_c9" (identifier "cVar4") (= "=") (identifier "local_c9")) (; ";")) (if_statement "if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }" (if "if") (parenthesized_expression "(((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0'))" (( "(") (binary_expression "((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&\n                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')" (parenthesized_expression "((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3)" (( "(") (binary_expression "(undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3" (cast_expression "(undefined1 *)((int)local_c8 + -9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_c8 + -9)" (( "(") (binary_expression "(int)local_c8 + -9" (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8")) (+ "+") (number_literal "-9")) () ")"))) (< "<") (cast_expression "(undefined1 *)0x3" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (&& "&&") (parenthesized_expression "(cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')" (( "(") (comma_expression "cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0'" (assignment_expression "cVar4 = local_c9 + -1" (identifier "cVar4") (= "=") (binary_expression "local_c9 + -1" (identifier "local_c9") (+ "+") (number_literal "-1"))) (, ",") (comma_expression "bVar1 = bVar2, local_c9 == '\0'" (assignment_expression "bVar1 = bVar2" (identifier "bVar1") (= "=") (identifier "bVar2")) (, ",") (binary_expression "local_c9 == '\0'" (identifier "local_c9") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (compound_statement "{\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);\n                  if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }\n                  uVar33 = 0x1bd;\nLAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;\n                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;\n                  uVar15 = 0x1a9;\n                  goto LAB_002b725c;\n                }" ({ "{") (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5,1,&local_c9)" (( "(") (identifier "pfVar5") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_c9" (& "&") (identifier "local_c9")) () ")")))) (; ";")) (if_statement "if (iVar23 == 1) {\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" (if "if") (parenthesized_expression "(iVar23 == 1)" (( "(") (binary_expression "iVar23 == 1" (identifier "iVar23") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }\n                    goto LAB_002b6fd4;\n                  }" ({ "{") (if_statement "if (local_c9 < '\0') {\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }\n                    else {\n                      bVar2 = false;\n                    }" (if "if") (parenthesized_expression "(local_c9 < '\0')" (( "(") (binary_expression "local_c9 < '\0'" (identifier "local_c9") (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      bVar2 = true;\n                      local_c9 = local_c9 + -0x80;\n                    }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (expression_statement "local_c9 = local_c9 + -0x80;" (assignment_expression "local_c9 = local_c9 + -0x80" (identifier "local_c9") (= "=") (binary_expression "local_c9 + -0x80" (identifier "local_c9") (+ "+") (number_literal "-0x80"))) (; ";")) (} "}")) (else_clause "else {\n                      bVar2 = false;\n                    }" (else "else") (compound_statement "{\n                      bVar2 = false;\n                    }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (} "}")))) (goto_statement "goto LAB_002b6fd4;" (goto "goto") (statement_identifier "LAB_002b6fd4") (; ";")) (} "}"))) (expression_statement "uVar33 = 0x1bd;" (assignment_expression "uVar33 = 0x1bd" (identifier "uVar33") (= "=") (number_literal "0x1bd")) (; ";")) (labeled_statement "LAB_002b7920:\n                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (statement_identifier "LAB_002b7920") (: ":") (expression_statement "puVar7 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "puVar7 = PTR_LAB_003a88e0 + 0x3e28" (identifier "puVar7") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28"))) (; ";"))) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3768")) () ")")))) (; ";")) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) () ")")))) (; ";")) (expression_statement "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;" (assignment_expression "puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" (identifier "puVar14") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x18cc"))) (; ";")) (expression_statement "uVar15 = 0x1a9;" (assignment_expression "uVar15 = 0x1a9" (identifier "uVar15") (= "=") (number_literal "0x1a9")) (; ";")) (goto_statement "goto LAB_002b725c;" (goto "goto") (statement_identifier "LAB_002b725c") (; ";")) (} "}"))) (expression_statement "local_c9 = cVar4;" (assignment_expression "local_c9 = cVar4" (identifier "local_c9") (= "=") (identifier "cVar4")) (; ";")) (if_statement "if (bVar1) {\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }\n                else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n                  fVar38 = *pfVar5;\n                  fVar39 = pfVar5[0xaf];\n                  dVar62 = local_78;\n                  dVar65 = local_80;\n                  dVar66 = local_88;\nLAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];\n                  if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }\n                }" ({ "{") (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" (identifier "fVar38") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" (identifier "dVar62") (= "=") (identifier "local_78")) (; ";")) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" (identifier "dVar65") (= "=") (identifier "local_80")) (; ";")) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" (identifier "dVar66") (= "=") (identifier "local_88")) (; ";")) (labeled_statement "LAB_002b6f24:\n                  fVar50 = pfVar5[0xb4];" (statement_identifier "LAB_002b6f24") (: ":") (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar5[0xb4]" (identifier "pfVar5") ([ "[") (number_literal "0xb4") (] "]"))) (; ";"))) (if_statement "if (fVar38 == 2.8026e-45) {\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }" (if "if") (parenthesized_expression "(fVar38 == 2.8026e-45)" (( "(") (binary_expression "fVar38 == 2.8026e-45" (identifier "fVar38") (== "==") (number_literal "2.8026e-45")) () ")")) (compound_statement "{\nLAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }\n                  }" ({ "{") (labeled_statement "LAB_002b72e8:\n                    if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" (statement_identifier "LAB_002b72e8") (: ":") (if_statement "if (*(int *)((int)fVar50 + 0x40) != 0) {\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" (if "if") (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) != 0)" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x40) != 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x40)" (( "(") (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;\n                    }" ({ "{") (expression_statement "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;" (assignment_expression "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64" (pointer_expression "*(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" (* "*") (cast_expression "(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x44) * 4)" (( "(") (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x44) * 4" (identifier "iVar6") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x44)" (( "(") (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(int)uVar64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar64"))) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" (else "else") (compound_statement "{\nLAB_002b6fd4:\n                  uVar17 = (uint)local_b4;\n                  if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }\n                  if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }\n                  if (1 < uVar17 - 0xf) goto LAB_002b747c;\n                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);\n                  if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }\n                  uVar17 = (uint)local_57;\n                  fVar39 = pfVar5[0xaf];\n                  dVar54 = *(double *)(puVar7 + 0x1a58);\n                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);\n                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);\n                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);\n                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }\n                  bVar1 = false;\n                  local_88 = dVar66;\n                  local_80 = dVar65;\n                  local_78 = dVar62;\n                  if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }\n                  fVar50 = pfVar5[0xb4];\n                  fVar8 = pfVar5[6];\n                }" ({ "{") (labeled_statement "LAB_002b6fd4:\n                  uVar17 = (uint)local_b4;" (statement_identifier "LAB_002b6fd4") (: ":") (expression_statement "uVar17 = (uint)local_b4;" (assignment_expression "uVar17 = (uint)local_b4" (identifier "uVar17") (= "=") (cast_expression "(uint)local_b4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b4"))) (; ";"))) (if_statement "if (uVar17 == 0x18) {\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }" (if "if") (parenthesized_expression "(uVar17 == 0x18)" (( "(") (binary_expression "uVar17 == 0x18" (identifier "uVar17") (== "==") (number_literal "0x18")) () ")")) (compound_statement "{\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);\n                    if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }\n                    bVar1 = false;\n                    fVar38 = *pfVar5;\n                    fVar39 = pfVar5[0xaf];\n                    fVar8 = pfVar5[6];\n                    local_78 = (double)(float)((double)local_58 * dVar69);\n                    local_80 = (double)(float)((double)local_57 * dVar69);\n                    local_88 = (double)(float)((double)local_56 * dVar69);\n                    dVar62 = local_78;\n                    dVar65 = local_80;\n                    dVar66 = local_88;\n                    goto LAB_002b6f24;\n                  }" ({ "{") (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5,3,&local_58)" (( "(") (identifier "pfVar5") (, ",") (number_literal "3") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (if_statement "if (iVar23 != 3) {\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" (if "if") (parenthesized_expression "(iVar23 != 3)" (( "(") (binary_expression "iVar23 != 3" (identifier "iVar23") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n                      uVar33 = 0x1ff;\n                      goto LAB_002b7920;\n                    }" ({ "{") (expression_statement "uVar33 = 0x1ff;" (assignment_expression "uVar33 = 0x1ff" (identifier "uVar33") (= "=") (number_literal "0x1ff")) (; ";")) (goto_statement "goto LAB_002b7920;" (goto "goto") (statement_identifier "LAB_002b7920") (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" (identifier "fVar38") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_78 = (double)(float)((double)local_58 * dVar69);" (assignment_expression "local_78 = (double)(float)((double)local_58 * dVar69)" (identifier "local_78") (= "=") (cast_expression "(double)(float)((double)local_58 * dVar69)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_58 * dVar69)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_58 * dVar69)" (( "(") (binary_expression "(double)local_58 * dVar69" (cast_expression "(double)local_58" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_58")) (* "*") (identifier "dVar69")) () ")"))))) (; ";")) (expression_statement "local_80 = (double)(float)((double)local_57 * dVar69);" (assignment_expression "local_80 = (double)(float)((double)local_57 * dVar69)" (identifier "local_80") (= "=") (cast_expression "(double)(float)((double)local_57 * dVar69)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_57 * dVar69)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_57 * dVar69)" (( "(") (binary_expression "(double)local_57 * dVar69" (cast_expression "(double)local_57" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_57")) (* "*") (identifier "dVar69")) () ")"))))) (; ";")) (expression_statement "local_88 = (double)(float)((double)local_56 * dVar69);" (assignment_expression "local_88 = (double)(float)((double)local_56 * dVar69)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)local_56 * dVar69)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_56 * dVar69)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_56 * dVar69)" (( "(") (binary_expression "(double)local_56 * dVar69" (cast_expression "(double)local_56" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_56")) (* "*") (identifier "dVar69")) () ")"))))) (; ";")) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" (identifier "dVar62") (= "=") (identifier "local_78")) (; ";")) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" (identifier "dVar65") (= "=") (identifier "local_80")) (; ";")) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" (identifier "dVar66") (= "=") (identifier "local_88")) (; ";")) (goto_statement "goto LAB_002b6f24;" (goto "goto") (statement_identifier "LAB_002b6f24") (; ";")) (} "}"))) (if_statement "if (0x18 < uVar17) {\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }" (if "if") (parenthesized_expression "(0x18 < uVar17)" (( "(") (binary_expression "0x18 < uVar17" (number_literal "0x18") (< "<") (identifier "uVar17")) () ")")) (compound_statement "{\n                    if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }\nLAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);\n                    if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }\n                    uVar17 = (uint)local_58;\n                    uVar64 = (ulonglong)(uint)(float)uVar17;\n                    if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }\n                    goto LAB_002b6f24;\n                  }" ({ "{") (if_statement "if (uVar17 == 0x20) {\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }" (if "if") (parenthesized_expression "(uVar17 == 0x20)" (( "(") (binary_expression "uVar17 == 0x20" (identifier "uVar17") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);\n                      if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }\n                      bVar1 = false;\n                      fVar8 = pfVar5[6];\n                      fVar38 = *pfVar5;\n                      dVar62 = *(double *)(puVar14 + -0x5af0);\n                      fVar39 = pfVar5[0xaf];\n                      local_78 = (double)(float)((double)local_58 * dVar62);\n                      local_80 = (double)(float)((double)local_57 * dVar62);\n                      local_88 = (double)(float)((double)local_56 * dVar62);\n                      local_68 = (double)(float)((double)local_55 * dVar62);\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                      goto LAB_002b6f24;\n                    }" ({ "{") (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5,4,&local_58)" (( "(") (identifier "pfVar5") (, ",") (number_literal "4") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (if_statement "if (iVar23 != 4) {\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }" (if "if") (parenthesized_expression "(iVar23 != 4)" (( "(") (binary_expression "iVar23 != 4" (identifier "iVar23") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                        uVar33 = 0x20b;\n                        goto LAB_002b7920;\n                      }" ({ "{") (expression_statement "uVar33 = 0x20b;" (assignment_expression "uVar33 = 0x20b" (identifier "uVar33") (= "=") (number_literal "0x20b")) (; ";")) (goto_statement "goto LAB_002b7920;" (goto "goto") (statement_identifier "LAB_002b7920") (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" (identifier "fVar38") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "dVar62 = *(double *)(puVar14 + -0x5af0);" (assignment_expression "dVar62 = *(double *)(puVar14 + -0x5af0)" (identifier "dVar62") (= "=") (pointer_expression "*(double *)(puVar14 + -0x5af0)" (* "*") (cast_expression "(double *)(puVar14 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + -0x5af0)" (( "(") (binary_expression "puVar14 + -0x5af0" (identifier "puVar14") (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "local_78 = (double)(float)((double)local_58 * dVar62);" (assignment_expression "local_78 = (double)(float)((double)local_58 * dVar62)" (identifier "local_78") (= "=") (cast_expression "(double)(float)((double)local_58 * dVar62)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_58 * dVar62)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_58 * dVar62)" (( "(") (binary_expression "(double)local_58 * dVar62" (cast_expression "(double)local_58" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_58")) (* "*") (identifier "dVar62")) () ")"))))) (; ";")) (expression_statement "local_80 = (double)(float)((double)local_57 * dVar62);" (assignment_expression "local_80 = (double)(float)((double)local_57 * dVar62)" (identifier "local_80") (= "=") (cast_expression "(double)(float)((double)local_57 * dVar62)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_57 * dVar62)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_57 * dVar62)" (( "(") (binary_expression "(double)local_57 * dVar62" (cast_expression "(double)local_57" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_57")) (* "*") (identifier "dVar62")) () ")"))))) (; ";")) (expression_statement "local_88 = (double)(float)((double)local_56 * dVar62);" (assignment_expression "local_88 = (double)(float)((double)local_56 * dVar62)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)local_56 * dVar62)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_56 * dVar62)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_56 * dVar62)" (( "(") (binary_expression "(double)local_56 * dVar62" (cast_expression "(double)local_56" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_56")) (* "*") (identifier "dVar62")) () ")"))))) (; ";")) (expression_statement "local_68 = (double)(float)((double)local_55 * dVar62);" (assignment_expression "local_68 = (double)(float)((double)local_55 * dVar62)" (identifier "local_68") (= "=") (cast_expression "(double)(float)((double)local_55 * dVar62)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)local_55 * dVar62)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)local_55 * dVar62)" (( "(") (binary_expression "(double)local_55 * dVar62" (cast_expression "(double)local_55" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_55")) (* "*") (identifier "dVar62")) () ")"))))) (; ";")) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" (identifier "dVar62") (= "=") (identifier "local_78")) (; ";")) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" (identifier "dVar65") (= "=") (identifier "local_80")) (; ";")) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" (identifier "dVar66") (= "=") (identifier "local_88")) (; ";")) (goto_statement "goto LAB_002b6f24;" (goto "goto") (statement_identifier "LAB_002b6f24") (; ";")) (} "}"))) (labeled_statement "LAB_002b747c:\n                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);" (statement_identifier "LAB_002b747c") (: ":") (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5,1,&local_58)" (( "(") (identifier "pfVar5") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";"))) (if_statement "if (iVar23 != 1) {\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" (if "if") (parenthesized_expression "(iVar23 != 1)" (( "(") (binary_expression "iVar23 != 1" (identifier "iVar23") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                      uVar33 = 0x1ce;\n                      goto LAB_002b7920;\n                    }" ({ "{") (expression_statement "uVar33 = 0x1ce;" (assignment_expression "uVar33 = 0x1ce" (identifier "uVar33") (= "=") (number_literal "0x1ce")) (; ";")) (goto_statement "goto LAB_002b7920;" (goto "goto") (statement_identifier "LAB_002b7920") (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)local_58;" (assignment_expression "uVar17 = (uint)local_58" (identifier "uVar17") (= "=") (cast_expression "(uint)local_58" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_58"))) (; ";")) (expression_statement "uVar64 = (ulonglong)(uint)(float)uVar17;" (assignment_expression "uVar64 = (ulonglong)(uint)(float)uVar17" (identifier "uVar64") (= "=") (cast_expression "(ulonglong)(uint)(float)uVar17" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)(float)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(float)uVar17" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar17"))))) (; ";")) (if_statement "if (local_c3 == '\0') {\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }\n                    else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" (if "if") (parenthesized_expression "(local_c3 == '\0')" (( "(") (binary_expression "local_c3 == '\0'" (identifier "local_c3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                      fVar38 = *pfVar5;\n                      bVar1 = false;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      local_88 = (double)(float)((double)uVar17 * dVar60);\n                      dVar62 = local_88;\n                      dVar65 = local_88;\n                      dVar66 = local_88;\n                      local_80 = local_88;\n                      local_78 = local_88;\n                    }" ({ "{") (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" (identifier "fVar38") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_88 = (double)(float)((double)uVar17 * dVar60);" (assignment_expression "local_88 = (double)(float)((double)uVar17 * dVar60)" (identifier "local_88") (= "=") (cast_expression "(double)(float)((double)uVar17 * dVar60)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)uVar17 * dVar60)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)uVar17 * dVar60)" (( "(") (binary_expression "(double)uVar17 * dVar60" (cast_expression "(double)uVar17" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar17")) (* "*") (identifier "dVar60")) () ")"))))) (; ";")) (expression_statement "dVar62 = local_88;" (assignment_expression "dVar62 = local_88" (identifier "dVar62") (= "=") (identifier "local_88")) (; ";")) (expression_statement "dVar65 = local_88;" (assignment_expression "dVar65 = local_88" (identifier "dVar65") (= "=") (identifier "local_88")) (; ";")) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" (identifier "dVar66") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_80 = local_88;" (assignment_expression "local_80 = local_88" (identifier "local_80") (= "=") (identifier "local_88")) (; ";")) (expression_statement "local_78 = local_88;" (assignment_expression "local_78 = local_88" (identifier "local_78") (= "=") (identifier "local_88")) (; ";")) (} "}")) (else_clause "else {\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" (else "else") (compound_statement "{\n                      puVar16 = (undefined4 *)pfVar5[10];\n                      if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }\n                      puVar25 = puVar16;\n                      ppfVar9 = local_b0;\n                      do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);\n                      bVar1 = false;\n                      pfVar27 = (float *)puVar40[5];\n                      ppfVar10[4] = (float *)*puVar25;\n                      ppfVar10[5] = pfVar27;\n                      fVar38 = *pfVar5;\n                      fVar39 = pfVar5[0xaf];\n                      fVar8 = pfVar5[6];\n                      dVar62 = local_78;\n                      dVar65 = local_80;\n                      dVar66 = local_88;\n                    }" ({ "{") (expression_statement "puVar16 = (undefined4 *)pfVar5[10];" (assignment_expression "puVar16 = (undefined4 *)pfVar5[10]" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)pfVar5[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[10]" (identifier "pfVar5") ([ "[") (number_literal "10") (] "]")))) (; ";")) (if_statement "if ((int)uVar17 < (int)pfVar5[9]) {\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }\n                      else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" (if "if") (parenthesized_expression "((int)uVar17 < (int)pfVar5[9])" (( "(") (binary_expression "(int)uVar17 < (int)pfVar5[9]" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (< "<") (cast_expression "(int)pfVar5[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n                        puVar16 = puVar16 + uVar17 * 0x16;\n                      }" ({ "{") (expression_statement "puVar16 = puVar16 + uVar17 * 0x16;" (assignment_expression "puVar16 = puVar16 + uVar17 * 0x16" (identifier "puVar16") (= "=") (binary_expression "puVar16 + uVar17 * 0x16" (identifier "puVar16") (+ "+") (binary_expression "uVar17 * 0x16" (identifier "uVar17") (* "*") (number_literal "0x16")))) (; ";")) (} "}")) (else_clause "else if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" (else "else") (if_statement "if (*param_2 != 5.95552e-43) {\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" (if "if") (parenthesized_expression "(*param_2 != 5.95552e-43)" (( "(") (binary_expression "*param_2 != 5.95552e-43" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "5.95552e-43")) () ")")) (compound_statement "{\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                      }" ({ "{") (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x6f4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x6f4")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3750")) (, ",") (number_literal "0x23") (, ",") (number_literal "0x1a9") (, ",") (binary_expression "puVar3 + -0x5990" (identifier "puVar3") (+ "+") (number_literal "-0x5990")) (, ",") (identifier "puVar11") (, ",") (binary_expression "pfVar5 + 0xd0" (identifier "pfVar5") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (} "}"))))) (expression_statement "puVar25 = puVar16;" (assignment_expression "puVar25 = puVar16" (identifier "puVar25") (= "=") (identifier "puVar16")) (; ";")) (expression_statement "ppfVar9 = local_b0;" (assignment_expression "ppfVar9 = local_b0" (identifier "ppfVar9") (= "=") (identifier "local_b0")) (; ";")) (do_statement "do {\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      } while (puVar25 != puVar16 + 0x14);" (do "do") (compound_statement "{\n                        ppfVar10 = ppfVar9;\n                        puVar40 = puVar25;\n                        puVar25 = puVar40 + 4;\n                        pfVar47 = (float *)puVar40[1];\n                        pfVar31 = (float *)puVar40[2];\n                        pfVar27 = (float *)puVar40[3];\n                        *ppfVar10 = (float *)*puVar40;\n                        ppfVar10[1] = pfVar47;\n                        ppfVar10[2] = pfVar31;\n                        ppfVar10[3] = pfVar27;\n                        ppfVar9 = ppfVar10 + 4;\n                      }" ({ "{") (expression_statement "ppfVar10 = ppfVar9;" (assignment_expression "ppfVar10 = ppfVar9" (identifier "ppfVar10") (= "=") (identifier "ppfVar9")) (; ";")) (expression_statement "puVar40 = puVar25;" (assignment_expression "puVar40 = puVar25" (identifier "puVar40") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "puVar25 = puVar40 + 4;" (assignment_expression "puVar25 = puVar40 + 4" (identifier "puVar25") (= "=") (binary_expression "puVar40 + 4" (identifier "puVar40") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar47 = (float *)puVar40[1];" (assignment_expression "pfVar47 = (float *)puVar40[1]" (identifier "pfVar47") (= "=") (cast_expression "(float *)puVar40[1]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar40[1]" (identifier "puVar40") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pfVar31 = (float *)puVar40[2];" (assignment_expression "pfVar31 = (float *)puVar40[2]" (identifier "pfVar31") (= "=") (cast_expression "(float *)puVar40[2]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar40[2]" (identifier "puVar40") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pfVar27 = (float *)puVar40[3];" (assignment_expression "pfVar27 = (float *)puVar40[3]" (identifier "pfVar27") (= "=") (cast_expression "(float *)puVar40[3]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar40[3]" (identifier "puVar40") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "*ppfVar10 = (float *)*puVar40;" (assignment_expression "*ppfVar10 = (float *)*puVar40" (pointer_expression "*ppfVar10" (* "*") (identifier "ppfVar10")) (= "=") (cast_expression "(float *)*puVar40" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar40" (* "*") (identifier "puVar40")))) (; ";")) (expression_statement "ppfVar10[1] = pfVar47;" (assignment_expression "ppfVar10[1] = pfVar47" (subscript_expression "ppfVar10[1]" (identifier "ppfVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pfVar47")) (; ";")) (expression_statement "ppfVar10[2] = pfVar31;" (assignment_expression "ppfVar10[2] = pfVar31" (subscript_expression "ppfVar10[2]" (identifier "ppfVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "ppfVar10[3] = pfVar27;" (assignment_expression "ppfVar10[3] = pfVar27" (subscript_expression "ppfVar10[3]" (identifier "ppfVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "pfVar27")) (; ";")) (expression_statement "ppfVar9 = ppfVar10 + 4;" (assignment_expression "ppfVar9 = ppfVar10 + 4" (identifier "ppfVar9") (= "=") (binary_expression "ppfVar10 + 4" (identifier "ppfVar10") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar25 != puVar16 + 0x14)" (( "(") (binary_expression "puVar25 != puVar16 + 0x14" (identifier "puVar25") (!= "!=") (binary_expression "puVar16 + 0x14" (identifier "puVar16") (+ "+") (number_literal "0x14"))) () ")")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "pfVar27 = (float *)puVar40[5];" (assignment_expression "pfVar27 = (float *)puVar40[5]" (identifier "pfVar27") (= "=") (cast_expression "(float *)puVar40[5]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar40[5]" (identifier "puVar40") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "ppfVar10[4] = (float *)*puVar25;" (assignment_expression "ppfVar10[4] = (float *)*puVar25" (subscript_expression "ppfVar10[4]" (identifier "ppfVar10") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(float *)*puVar25" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25")))) (; ";")) (expression_statement "ppfVar10[5] = pfVar27;" (assignment_expression "ppfVar10[5] = pfVar27" (subscript_expression "ppfVar10[5]" (identifier "ppfVar10") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "pfVar27")) (; ";")) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" (identifier "fVar38") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "dVar62 = local_78;" (assignment_expression "dVar62 = local_78" (identifier "dVar62") (= "=") (identifier "local_78")) (; ";")) (expression_statement "dVar65 = local_80;" (assignment_expression "dVar65 = local_80" (identifier "dVar65") (= "=") (identifier "local_80")) (; ";")) (expression_statement "dVar66 = local_88;" (assignment_expression "dVar66 = local_88" (identifier "dVar66") (= "=") (identifier "local_88")) (; ";")) (} "}")))) (goto_statement "goto LAB_002b6f24;" (goto "goto") (statement_identifier "LAB_002b6f24") (; ";")) (} "}"))) (if_statement "if (1 < uVar17 - 0xf) goto LAB_002b747c;" (if "if") (parenthesized_expression "(1 < uVar17 - 0xf)" (( "(") (binary_expression "1 < uVar17 - 0xf" (number_literal "1") (< "<") (binary_expression "uVar17 - 0xf" (identifier "uVar17") (- "-") (number_literal "0xf"))) () ")")) (goto_statement "goto LAB_002b747c;" (goto "goto") (statement_identifier "LAB_002b747c") (; ";"))) (expression_statement "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);" (assignment_expression "iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58)" (identifier "iVar23") (= "=") (call_expression "(*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58)" (parenthesized_expression "(*(code *)PTR_ReadBlob_003a8dac)" (( "(") (pointer_expression "*(code *)PTR_ReadBlob_003a8dac" (* "*") (cast_expression "(code *)PTR_ReadBlob_003a8dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlob_003a8dac"))) () ")")) (argument_list "(pfVar5,2,&local_58)" (( "(") (identifier "pfVar5") (, ",") (number_literal "2") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (if_statement "if (iVar23 != 2) {\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" (if "if") (parenthesized_expression "(iVar23 != 2)" (( "(") (binary_expression "iVar23 != 2" (identifier "iVar23") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    uVar33 = 0x1e8;\n                    goto LAB_002b7920;\n                  }" ({ "{") (expression_statement "uVar33 = 0x1e8;" (assignment_expression "uVar33 = 0x1e8" (identifier "uVar33") (= "=") (number_literal "0x1e8")) (; ";")) (goto_statement "goto LAB_002b7920;" (goto "goto") (statement_identifier "LAB_002b7920") (; ";")) (} "}"))) (expression_statement "uVar17 = (uint)local_57;" (assignment_expression "uVar17 = (uint)local_57" (identifier "uVar17") (= "=") (cast_expression "(uint)local_57" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_57"))) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "dVar54 = *(double *)(puVar7 + 0x1a58);" (assignment_expression "dVar54 = *(double *)(puVar7 + 0x1a58)" (identifier "dVar54") (= "=") (pointer_expression "*(double *)(puVar7 + 0x1a58)" (* "*") (cast_expression "(double *)(puVar7 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x1a58)" (( "(") (binary_expression "puVar7 + 0x1a58" (identifier "puVar7") (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);" (assignment_expression "dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" (identifier "dVar66") (= "=") (cast_expression "(double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54)" (( "(") (binary_expression "(double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54" (binary_expression "(double)((uVar17 << 0x19) >> 0x1b) * dVar67" (cast_expression "(double)((uVar17 << 0x19) >> 0x1b)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((uVar17 << 0x19) >> 0x1b)" (( "(") (binary_expression "(uVar17 << 0x19) >> 0x1b" (parenthesized_expression "(uVar17 << 0x19)" (( "(") (binary_expression "uVar17 << 0x19" (identifier "uVar17") (<< "<<") (number_literal "0x19")) () ")")) (>> ">>") (number_literal "0x1b")) () ")"))) (* "*") (identifier "dVar67")) (* "*") (identifier "dVar54")) () ")"))))) (; ";")) (expression_statement "dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54);" (assignment_expression "dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" (identifier "dVar65") (= "=") (cast_expression "(double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54)" (( "(") (binary_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67 * dVar54" (binary_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *\n                                           dVar67" (cast_expression "(double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5))" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((uVar17 & 3) * 8 + (uint)(local_58 >> 5))" (( "(") (binary_expression "(uVar17 & 3) * 8 + (uint)(local_58 >> 5)" (binary_expression "(uVar17 & 3) * 8" (parenthesized_expression "(uVar17 & 3)" (( "(") (binary_expression "uVar17 & 3" (identifier "uVar17") (& "&") (number_literal "3")) () ")")) (* "*") (number_literal "8")) (+ "+") (call_expression "(uint)(local_58 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_58 >> 5)" (( "(") (binary_expression "local_58 >> 5" (identifier "local_58") (>> ">>") (number_literal "5")) () ")")))) () ")"))) (* "*") (identifier "dVar67")) (* "*") (identifier "dVar54")) () ")"))))) (; ";")) (expression_statement "dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);" (assignment_expression "dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" (identifier "dVar62") (= "=") (cast_expression "(double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)((double)(local_58 & 0x1f) * dVar67 * dVar54)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)(local_58 & 0x1f) * dVar67 * dVar54)" (( "(") (binary_expression "(double)(local_58 & 0x1f) * dVar67 * dVar54" (binary_expression "(double)(local_58 & 0x1f) * dVar67" (cast_expression "(double)(local_58 & 0x1f)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(local_58 & 0x1f)" (( "(") (binary_expression "local_58 & 0x1f" (identifier "local_58") (& "&") (number_literal "0x1f")) () ")"))) (* "*") (identifier "dVar67")) (* "*") (identifier "dVar54")) () ")"))))) (; ";")) (if_statement "if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {\n                    local_68 = 0.0;\n                  }" (if "if") (parenthesized_expression "((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57))" (( "(") (binary_expression "(fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)" (parenthesized_expression "(fVar39 != 0.0)" (( "(") (binary_expression "fVar39 != 0.0" (identifier "fVar39") (!= "!=") (number_literal "0.0")) () ")")) (&& "&&") (parenthesized_expression "(local_68 = dVar54, -1 < (char)local_57)" (( "(") (comma_expression "local_68 = dVar54, -1 < (char)local_57" (assignment_expression "local_68 = dVar54" (identifier "local_68") (= "=") (identifier "dVar54")) (, ",") (binary_expression "-1 < (char)local_57" (number_literal "-1") (< "<") (cast_expression "(char)local_57" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_57")))) () ")"))) () ")")) (compound_statement "{\n                    local_68 = 0.0;\n                  }" ({ "{") (expression_statement "local_68 = 0.0;" (assignment_expression "local_68 = 0.0" (identifier "local_68") (= "=") (number_literal "0.0")) (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "local_88 = dVar66;" (assignment_expression "local_88 = dVar66" (identifier "local_88") (= "=") (identifier "dVar66")) (; ";")) (expression_statement "local_80 = dVar65;" (assignment_expression "local_80 = dVar65" (identifier "local_80") (= "=") (identifier "dVar65")) (; ";")) (expression_statement "local_78 = dVar62;" (assignment_expression "local_78 = dVar62" (identifier "local_78") (= "=") (identifier "dVar62")) (; ";")) (if_statement "if (*pfVar5 == 2.8026e-45) {\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }" (if "if") (parenthesized_expression "(*pfVar5 == 2.8026e-45)" (( "(") (binary_expression "*pfVar5 == 2.8026e-45" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (number_literal "2.8026e-45")) () ")")) (compound_statement "{\n                    iVar23 = uVar17 * 0x100 + (uint)local_58;\n                    if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }\n                    fVar50 = pfVar5[0xb4];\n                    bVar1 = false;\n                    fVar8 = pfVar5[6];\n                    goto LAB_002b72e8;\n                  }" ({ "{") (expression_statement "iVar23 = uVar17 * 0x100 + (uint)local_58;" (assignment_expression "iVar23 = uVar17 * 0x100 + (uint)local_58" (identifier "iVar23") (= "=") (binary_expression "uVar17 * 0x100 + (uint)local_58" (binary_expression "uVar17 * 0x100" (identifier "uVar17") (* "*") (number_literal "0x100")) (+ "+") (cast_expression "(uint)local_58" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_58")))) (; ";")) (if_statement "if (iVar23 < (int)pfVar5[9]) {\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }\n                    else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" (if "if") (parenthesized_expression "(iVar23 < (int)pfVar5[9])" (( "(") (binary_expression "iVar23 < (int)pfVar5[9]" (identifier "iVar23") (< "<") (cast_expression "(int)pfVar5[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[9]" (identifier "pfVar5") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n                      uVar64 = (ulonglong)(uint)(float)iVar23;\n                    }" ({ "{") (expression_statement "uVar64 = (ulonglong)(uint)(float)iVar23;" (assignment_expression "uVar64 = (ulonglong)(uint)(float)iVar23" (identifier "uVar64") (= "=") (cast_expression "(ulonglong)(uint)(float)iVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)(float)iVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(float)iVar23" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "iVar23"))))) (; ";")) (} "}")) (else_clause "else {\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" (else "else") (compound_statement "{\n                      if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }\n                      uVar64 = 0;\n                    }" ({ "{") (if_statement "if (*param_2 != 5.95552e-43) {\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }" (if "if") (parenthesized_expression "(*param_2 != 5.95552e-43)" (( "(") (binary_expression "*param_2 != 5.95552e-43" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "5.95552e-43")) () ")")) (compound_statement "{\n                        uVar64 = 0;\n                        bVar1 = false;\n                        (*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);\n                        fVar38 = *pfVar5;\n                        fVar39 = pfVar5[0xaf];\n                        fVar8 = pfVar5[6];\n                        goto LAB_002b6f24;\n                      }" ({ "{") (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" (identifier "uVar64") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_2,PTR_s_courses_003a88ec + 0x6f4,\n                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,\n                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_courses_003a88ec + 0x6f4" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "0x6f4")) (, ",") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3750")) (, ",") (number_literal "0x23") (, ",") (number_literal "0x1a9") (, ",") (binary_expression "puVar3 + -0x5990" (identifier "puVar3") (+ "+") (number_literal "-0x5990")) (, ",") (identifier "puVar11") (, ",") (binary_expression "pfVar5 + 0xd0" (identifier "pfVar5") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (expression_statement "fVar38 = *pfVar5;" (assignment_expression "fVar38 = *pfVar5" (identifier "fVar38") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (expression_statement "fVar39 = pfVar5[0xaf];" (assignment_expression "fVar39 = pfVar5[0xaf]" (identifier "fVar39") (= "=") (subscript_expression "pfVar5[0xaf]" (identifier "pfVar5") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (goto_statement "goto LAB_002b6f24;" (goto "goto") (statement_identifier "LAB_002b6f24") (; ";")) (} "}"))) (expression_statement "uVar64 = 0;" (assignment_expression "uVar64 = 0" (identifier "uVar64") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar5[0xb4]" (identifier "pfVar5") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (goto_statement "goto LAB_002b72e8;" (goto "goto") (statement_identifier "LAB_002b72e8") (; ";")) (} "}"))) (expression_statement "fVar50 = pfVar5[0xb4];" (assignment_expression "fVar50 = pfVar5[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar5[0xb4]" (identifier "pfVar5") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "fVar8 = pfVar5[6];" (assignment_expression "fVar8 = pfVar5[6]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[6]" (identifier "pfVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}")))) (expression_statement "iVar23 = *(int *)((int)fVar50 + 0x20);" (assignment_expression "iVar23 = *(int *)((int)fVar50 + 0x20)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)((int)fVar50 + 0x20)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x20)" (( "(") (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar6") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;" (assignment_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66" (pointer_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar6 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar6") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar66" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar66"))) (; ";")) (expression_statement "*pfVar31 = (float)dVar65;" (assignment_expression "*pfVar31 = (float)dVar65" (pointer_expression "*pfVar31" (* "*") (identifier "pfVar31")) (= "=") (cast_expression "(float)dVar65" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar65"))) (; ";")) (expression_statement "*(float *)(iVar6 + iVar23 * 4) = (float)dVar62;" (assignment_expression "*(float *)(iVar6 + iVar23 * 4) = (float)dVar62" (pointer_expression "*(float *)(iVar6 + iVar23 * 4)" (* "*") (cast_expression "(float *)(iVar6 + iVar23 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar23 * 4)" (( "(") (binary_expression "iVar6 + iVar23 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar23 * 4" (identifier "iVar23") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar62" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar62"))) (; ";")) (if_statement "if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }" (if "if") (parenthesized_expression "((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0))" (( "(") (binary_expression "(fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)" (parenthesized_expression "(fVar39 != 0.0)" (( "(") (binary_expression "fVar39 != 0.0" (identifier "fVar39") (!= "!=") (number_literal "0.0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) != 0)" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x34) != 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x34)" (( "(") (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;\n                }" ({ "{") (expression_statement "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;" (assignment_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68" (pointer_expression "*(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (binary_expression "iVar6 + *(int *)((int)fVar50 + 0x38) * 4" (identifier "iVar6") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x38)" (( "(") (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)local_68" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "local_68"))) (; ";")) (} "}"))) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" (identifier "iVar37") (= "=") (binary_expression "iVar37 + 1" (identifier "iVar37") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;" (assignment_expression "iVar6 = iVar6 + (int)pfVar5[0xb0] * 4" (identifier "iVar6") (= "=") (binary_expression "iVar6 + (int)pfVar5[0xb0] * 4" (identifier "iVar6") (+ "+") (binary_expression "(int)pfVar5[0xb0] * 4" (cast_expression "(int)pfVar5[0xb0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[0xb0]" (identifier "pfVar5") ([ "[") (number_literal "0xb0") (] "]"))) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar37 < (int)fVar8)" (( "(") (binary_expression "iVar37 < (int)fVar8" (identifier "iVar37") (< "<") (cast_expression "(int)fVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar8"))) () ")")) (; ";")) (} "}"))) (if_statement "if (local_b3 >> 6 == 2) {\n              local_f8 = (float *)((int)local_f8 + 2);\n            }\n            else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" (if "if") (parenthesized_expression "(local_b3 >> 6 == 2)" (( "(") (binary_expression "local_b3 >> 6 == 2" (binary_expression "local_b3 >> 6" (identifier "local_b3") (>> ">>") (number_literal "6")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              local_f8 = (float *)((int)local_f8 + 2);\n            }" ({ "{") (expression_statement "local_f8 = (float *)((int)local_f8 + 2);" (assignment_expression "local_f8 = (float *)((int)local_f8 + 2)" (identifier "local_f8") (= "=") (cast_expression "(float *)((int)local_f8 + 2)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f8 + 2)" (( "(") (binary_expression "(int)local_f8 + 2" (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" (else "else") (compound_statement "{\n              local_f8 = (float *)((int)local_f8 + 1);\n            }" ({ "{") (expression_statement "local_f8 = (float *)((int)local_f8 + 1);" (assignment_expression "local_f8 = (float *)((int)local_f8 + 1)" (identifier "local_f8") (= "=") (cast_expression "(float *)((int)local_f8 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f8 + 1)" (( "(") (binary_expression "(int)local_f8 + 1" (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (if_statement "if ((float *)pfVar5[7] <= local_f8) {\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }" (if "if") (parenthesized_expression "((float *)pfVar5[7] <= local_f8)" (( "(") (binary_expression "(float *)pfVar5[7] <= local_f8" (cast_expression "(float *)pfVar5[7]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar5[7]" (identifier "pfVar5") ([ "[") (number_literal "7") (] "]"))) (<= "<=") (identifier "local_f8")) () ")")) (compound_statement "{\n              local_f8 = (float *)((int)local_e4 + 1);\n              local_e4 = local_f8;\n            }" ({ "{") (expression_statement "local_f8 = (float *)((int)local_e4 + 1);" (assignment_expression "local_f8 = (float *)((int)local_e4 + 1)" (identifier "local_f8") (= "=") (cast_expression "(float *)((int)local_e4 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_e4 + 1)" (( "(") (binary_expression "(int)local_e4 + 1" (cast_expression "(int)local_e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_e4 = local_f8;" (assignment_expression "local_e4 = local_f8" (identifier "local_e4") (= "=") (identifier "local_f8")) (; ";")) (} "}"))) (expression_statement "pfVar27 = param_2;" (assignment_expression "pfVar27 = param_2" (identifier "pfVar27") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5)" (parenthesized_expression "(*(code *)PTR_SyncAuthenticPixels_003a91e4)" (( "(") (pointer_expression "*(code *)PTR_SyncAuthenticPixels_003a91e4" (* "*") (cast_expression "(code *)PTR_SyncAuthenticPixels_003a91e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SyncAuthenticPixels_003a91e4"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar8 = pfVar5[7];" (assignment_expression "fVar8 = pfVar5[7]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[7]" (identifier "pfVar5") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (pfVar5[0xcd9] == 0.0) {\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }" (if "if") (parenthesized_expression "(pfVar5[0xcd9] == 0.0)" (( "(") (binary_expression "pfVar5[0xcd9] == 0.0" (subscript_expression "pfVar5[0xcd9]" (identifier "pfVar5") ([ "[") (number_literal "0xcd9") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);\n              pfVar31 = local_f0;\n              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);\n              if (iVar6 == 0) break;\n              fVar8 = pfVar5[7];\n            }" ({ "{") (expression_statement "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);" (assignment_expression "pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x2dd0")) () ")")))) (; ";")) (expression_statement "pfVar31 = local_f0;" (assignment_expression "pfVar31 = local_f0" (identifier "pfVar31") (= "=") (identifier "local_f0")) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);" (assignment_expression "iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_SetImageProgress_003a8cb4)\n                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" (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 "(pfVar5,pfVar27,local_f0,local_ec,0,fVar8)" (( "(") (identifier "pfVar5") (, ",") (identifier "pfVar27") (, ",") (identifier "local_f0") (, ",") (identifier "local_ec") (, ",") (number_literal "0") (, ",") (identifier "fVar8") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar8 = pfVar5[7];" (assignment_expression "fVar8 = pfVar5[7]" (identifier "fVar8") (= "=") (subscript_expression "pfVar5[7]" (identifier "pfVar5") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar17 = local_ec + 1;" (assignment_expression "uVar17 = local_ec + 1" (identifier "uVar17") (= "=") (binary_expression "local_ec + 1" (identifier "local_ec") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);" (assignment_expression "local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0)" (identifier "local_f0") (= "=") (cast_expression "(float *)((uint)(uVar17 < local_ec) + (int)local_f0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(uVar17 < local_ec) + (int)local_f0)" (( "(") (binary_expression "(uint)(uVar17 < local_ec) + (int)local_f0" (call_expression "(uint)(uVar17 < local_ec)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < local_ec)" (( "(") (binary_expression "uVar17 < local_ec" (identifier "uVar17") (< "<") (identifier "local_ec")) () ")"))) (+ "+") (cast_expression "(int)local_f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f0"))) () ")")))) (; ";")) (expression_statement "local_ec = uVar17;" (assignment_expression "local_ec = uVar17" (identifier "local_ec") (= "=") (identifier "uVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar17 < (int)fVar8)" (( "(") (binary_expression "(int)uVar17 < (int)fVar8" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (< "<") (cast_expression "(int)fVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar8"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);" (assignment_expression "iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_EOFBlob_003a9748)(pfVar5)" (parenthesized_expression "(*(code *)PTR_EOFBlob_003a9748)" (( "(") (pointer_expression "*(code *)PTR_EOFBlob_003a9748" (* "*") (cast_expression "(code *)PTR_EOFBlob_003a9748" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_EOFBlob_003a9748"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);\n          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n          (*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);\n          (*(code *)PTR_DestroyString_003a9074)(uVar33);\n        }" ({ "{") (expression_statement "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" (( "(") (pointer_expression "*(code *)PTR___errno_location_003a99b0" (* "*") (cast_expression "(code *)PTR___errno_location_003a99b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_003a99b0"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);" (assignment_expression "uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16)" (identifier "uVar33") (= "=") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" (( "(") (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" (* "*") (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetExceptionMessage_003a93ec"))) () ")")) (argument_list "(*puVar16)" (( "(") (pointer_expression "*puVar16" (* "*") (identifier "puVar16")) () ")")))) (; ";")) (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3768")) () ")")))) (; ";")) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,\n                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33)" (( "(") (identifier "param_2") (, ",") (identifier "pfVar27") (, ",") (identifier "pfVar31") (, ",") (number_literal "0x233") (, ",") (number_literal "0x1a9") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x17c" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x17c")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0xe78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xe78")) (, ",") (binary_expression "pfVar5 + 0xd0" (identifier "pfVar5") (+ "+") (number_literal "0xd0")) (, ",") (identifier "uVar33") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar33);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar33)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")")) (argument_list "(uVar33)" (( "(") (identifier "uVar33") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))) (; ";")) (expression_statement "pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);" (assignment_expression "pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" (identifier "pfVar47") (= "=") (cast_expression "(float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5)" (parenthesized_expression "(*(code *)PTR_GetFirstImageInList_003a944c)" (( "(") (pointer_expression "*(code *)PTR_GetFirstImageInList_003a944c" (* "*") (cast_expression "(code *)PTR_GetFirstImageInList_003a944c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetFirstImageInList_003a944c"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" (else "else") (compound_statement "{\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      pfVar47 = pfVar5;\n    }" ({ "{") (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))) (; ";")) (expression_statement "pfVar47 = pfVar5;" (assignment_expression "pfVar47 = pfVar5" (identifier "pfVar47") (= "=") (identifier "pfVar5")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" (else "else") (compound_statement "{\nLAB_002b68ec:\n    uVar33 = 0xdd;\nLAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;\nLAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);\n    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);\n    (*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);\n    if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }\n    pfVar47 = (float *)0x0;\n  }" ({ "{") (labeled_statement "LAB_002b68ec:\n    uVar33 = 0xdd;" (statement_identifier "LAB_002b68ec") (: ":") (expression_statement "uVar33 = 0xdd;" (assignment_expression "uVar33 = 0xdd" (identifier "uVar33") (= "=") (number_literal "0xdd")) (; ";"))) (labeled_statement "LAB_002b68f4:\n    puVar7 = PTR_s_courses_003a88ec + -400;" (statement_identifier "LAB_002b68f4") (: ":") (expression_statement "puVar7 = PTR_s_courses_003a88ec + -400;" (assignment_expression "puVar7 = PTR_s_courses_003a88ec + -400" (identifier "puVar7") (= "=") (binary_expression "PTR_s_courses_003a88ec + -400" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-400"))) (; ";"))) (labeled_statement "LAB_002b6920:\n    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (statement_identifier "LAB_002b6920") (: ":") (expression_statement "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);" (assignment_expression "pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (identifier "pfVar31") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3768")) () ")")))) (; ";"))) (expression_statement "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);" (assignment_expression "pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720)" (( "(") (binary_expression "PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720" (identifier "PTR_s_pixels_3_def_____currentfile_byt_003a894c") (+ "+") (number_literal "0x3720")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,\n               param_1 + 0x2210)" (( "(") (identifier "param_2") (, ",") (identifier "pfVar27") (, ",") (identifier "pfVar31") (, ",") (identifier "uVar33") (, ",") (number_literal "0x1a9") (, ",") (identifier "puVar7") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "param_1 + 0x2210" (identifier "param_1") (+ "+") (number_literal "0x2210")) () ")"))) (; ";")) (if_statement "if (pfVar5 != (float *)0x0) {\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }" (if "if") (parenthesized_expression "(pfVar5 != (float *)0x0)" (( "(") (binary_expression "pfVar5 != (float *)0x0" (identifier "pfVar5") (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);\n      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);\n    }" ({ "{") (labeled_statement "LAB_002b6944:\n      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (statement_identifier "LAB_002b6944") (: ":") (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(pfVar5);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(pfVar5)" (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 "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))) (; ";"))) (expression_statement "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);" (call_expression "(*(code *)PTR_DestroyImageList_003a9510)(pfVar5)" (parenthesized_expression "(*(code *)PTR_DestroyImageList_003a9510)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageList_003a9510" (* "*") (cast_expression "(code *)PTR_DestroyImageList_003a9510" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageList_003a9510"))) () ")")) (argument_list "(pfVar5)" (( "(") (identifier "pfVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "pfVar47 = (float *)0x0;" (assignment_expression "pfVar47 = (float *)0x0" (identifier "pfVar47") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (labeled_statement "LAB_002b6964:\n  if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }" (statement_identifier "LAB_002b6964") (: ":") (if_statement "if (local_54 == *(float **)puVar52) {\n    return pfVar47;\n  }" (if "if") (parenthesized_expression "(local_54 == *(float **)puVar52)" (( "(") (binary_expression "local_54 == *(float **)puVar52" (identifier "local_54") (== "==") (pointer_expression "*(float **)puVar52" (* "*") (cast_expression "(float **)puVar52" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar52")))) () ")")) (compound_statement "{\n    return pfVar47;\n  }" ({ "{") (return_statement "return pfVar47;" (return "return") (identifier "pfVar47") (; ";")) (} "}")))) (expression_statement "pfVar5 = local_54;" (assignment_expression "pfVar5 = local_54" (identifier "pfVar5") (= "=") (identifier "local_54")) (; ";")) (expression_statement "puVar52 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar52 = PTR___stack_chk_fail_003a9064" (identifier "puVar52") (= "=") (identifier "PTR___stack_chk_fail_003a9064")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (pfVar5 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(pfVar5 == (float *)0x0)" (( "(") (binary_expression "pfVar5 == (float *)0x0" (identifier "pfVar5") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1af4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1af4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1af4)" (( "(") (binary_expression "puVar52 + 0xf1af4" (identifier "puVar52") (+ "+") (number_literal "0xf1af4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xd78,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xd78" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0x2fc") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3798")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (expression_statement "iVar6 = *(int *)(puVar52 + 0xf0e38);" (assignment_expression "iVar6 = *(int *)(puVar52 + 0xf0e38)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")"))))) (; ";")) (if_statement "if (pfVar5[0xc85] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(pfVar5[0xc85] != -1.2269538e-12)" (( "(") (binary_expression "pfVar5[0xc85] != -1.2269538e-12" (subscript_expression "pfVar5[0xc85]" (identifier "pfVar5") ([ "[") (number_literal "0xc85") (] "]")) (!= "!=") (number_literal "-1.2269538e-12")) () ")")) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1af4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1af4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1af4)" (( "(") (binary_expression "puVar52 + 0xf1af4" (identifier "puVar52") (+ "+") (number_literal "0xf1af4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xda0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xda0" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0x2fd") (, ",") (binary_expression "iVar6 + 0x3798" (identifier "iVar6") (+ "+") (number_literal "0x3798")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (pfVar27 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(pfVar27 == (float *)0x0)" (( "(") (binary_expression "pfVar27 == (float *)0x0" (identifier "pfVar27") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1af4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1af4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1af4)" (( "(") (binary_expression "puVar52 + 0xf1af4" (identifier "puVar52") (+ "+") (number_literal "0xf1af4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0xdd0,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0xdd0" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0x2fe") (, ",") (binary_expression "iVar6 + 0x3798" (identifier "iVar6") (+ "+") (number_literal "0x3798")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (pfVar27[0xcdb] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(pfVar27[0xcdb] != -1.2269538e-12)" (( "(") (binary_expression "pfVar27[0xcdb] != -1.2269538e-12" (subscript_expression "pfVar27[0xcdb]" (identifier "pfVar27") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-1.2269538e-12")) () ")")) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1af4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1af4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1af4)" (( "(") (binary_expression "puVar52 + 0xf1af4" (identifier "puVar52") (+ "+") (number_literal "0xf1af4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar52 + 0xf0dd4) + -0x3784,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x3784" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0x2ff") (, ",") (binary_expression "iVar6 + 0x3798" (identifier "iVar6") (+ "+") (number_literal "0x3798")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (pfVar27[0xcd4] != 0.0) {\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }" (if "if") (parenthesized_expression "(pfVar27[0xcd4] != 0.0)" (( "(") (binary_expression "pfVar27[0xcd4] != 0.0" (subscript_expression "pfVar27[0xcd4]" (identifier "pfVar27") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n    (**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);\n  }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf16cc))\n              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf16cc))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf16cc)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf16cc)" (* "*") (cast_expression "(code **)(puVar52 + 0xf16cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf16cc)" (( "(") (binary_expression "puVar52 + 0xf16cc" (identifier "puVar52") (+ "+") (number_literal "0xf16cc")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3788")) (, ",") (number_literal "0x301") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x62ac" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "pfVar27 + 0xd0" (identifier "pfVar27") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (pfVar31 == (float *)0x0) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(pfVar31 == (float *)0x0)" (( "(") (binary_expression "pfVar31 == (float *)0x0" (identifier "pfVar31") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1af4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1af4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1af4)" (( "(") (binary_expression "puVar52 + 0xf1af4" (identifier "puVar52") (+ "+") (number_literal "0xf1af4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0x1cac,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1cac" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0x302") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3798")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (if_statement "if (pfVar31[7] != -1.2269538e-12) {\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" (if "if") (parenthesized_expression "(pfVar31[7] != -1.2269538e-12)" (( "(") (binary_expression "pfVar31[7] != -1.2269538e-12" (subscript_expression "pfVar31[7]" (identifier "pfVar31") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "-1.2269538e-12")) () ")")) (compound_statement "{\n    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);\n    return pfVar27;\n  }" ({ "{") (expression_statement "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);" (assignment_expression "pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (identifier "pfVar27") (= "=") (cast_expression "(float *)(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf1af4))\n                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1af4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1af4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1af4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1af4)" (( "(") (binary_expression "puVar52 + 0xf1af4" (identifier "puVar52") (+ "+") (number_literal "0xf1af4")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar52 + 0xf0dcc) + 0x294c,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,\n                                  *(int *)(puVar52 + 0xf0e38) + 0x3798)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x294c" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (number_literal "0x303") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3798" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3798")) () ")"))))) (; ";")) (return_statement "return pfVar27;" (return "return") (identifier "pfVar27") (; ";")) (} "}"))) (expression_statement "iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);" (assignment_expression "iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1738))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1738)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1738)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1738)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1738)" (( "(") (binary_expression "puVar52 + 0xf1738" (identifier "puVar52") (+ "+") (number_literal "0xf1738")) () ")"))))) () ")")) (argument_list "(pfVar5,pfVar27,4,pfVar31)" (( "(") (identifier "pfVar5") (, ",") (identifier "pfVar27") (, ",") (number_literal "4") (, ",") (identifier "pfVar31") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n    return (float *)0x0;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return (float *)0x0;\n  }" ({ "{") (return_statement "return (float *)0x0;" (return "return") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (if_statement "if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" (if "if") (parenthesized_expression "((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7]))" (( "(") (binary_expression "(0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])" (parenthesized_expression "(0xffff < (uint)pfVar27[6])" (( "(") (binary_expression "0xffff < (uint)pfVar27[6]" (number_literal "0xffff") (< "<") (cast_expression "(uint)pfVar27[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]")))) () ")")) (|| "||") (parenthesized_expression "(0xffff < (uint)pfVar27[7])" (( "(") (binary_expression "0xffff < (uint)pfVar27[7]" (number_literal "0xffff") (< "<") (cast_expression "(uint)pfVar27[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar27[7]" (identifier "pfVar27") ([ "[") (number_literal "7") (] "]")))) () ")"))) () ")")) (compound_statement "{\n    (**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);\n    pfVar31 = pfVar27;\n    if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }\n    goto LAB_002b7c64;\n  }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf140c)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf140c)" (* "*") (cast_expression "(code **)(puVar52 + 0xf140c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf140c)" (( "(") (binary_expression "puVar52 + 0xf140c" (identifier "puVar52") (+ "+") (number_literal "0xf140c")) () ")"))))) () ")")) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,\n               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28\n               ,pfVar27 + 0xd0)" (( "(") (identifier "pfVar31") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3788")) (, ",") (number_literal "0x30b") (, ",") (number_literal "0x1d1") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1284")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "pfVar27 + 0xd0" (identifier "pfVar27") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" (identifier "pfVar31") (= "=") (identifier "pfVar27")) (; ";")) (if_statement "if (pfVar5[3] == 0.0) {\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }\n    else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" (if "if") (parenthesized_expression "(pfVar5[3] == 0.0)" (( "(") (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" (identifier "pfVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n    }" ({ "{") (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" (identifier "pcVar53") (= "=") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" (else "else") (compound_statement "{\n      do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n    }" ({ "{") (do_statement "do {\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      } while ((float *)pfVar27[0xcd9] != (float *)0x0);" (do "do") (compound_statement "{\n        pfVar27 = pfVar31;\n        pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        pfVar31 = (float *)pfVar27[0xcd9];\n      }" ({ "{") (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" (identifier "pfVar27") (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" (identifier "pcVar53") (= "=") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) (; ";")) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" (identifier "pfVar31") (= "=") (cast_expression "(float *)pfVar27[0xcd9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" (( "(") (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]"))) (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (goto_statement "goto LAB_002b7c64;" (goto "goto") (statement_identifier "LAB_002b7c64") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);" (call_expression "(**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf166c))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf166c)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf166c)" (* "*") (cast_expression "(code **)(puVar52 + 0xf166c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf166c)" (( "(") (binary_expression "puVar52 + 0xf166c" (identifier "puVar52") (+ "+") (number_literal "0xf166c")) () ")"))))) () ")")) (argument_list "(pfVar27,0x17,pfVar31)" (( "(") (identifier "pfVar27") (, ",") (number_literal "0x17") (, ",") (identifier "pfVar31") () ")"))) (; ";")) (expression_statement "fVar8 = *pfVar5;" (assignment_expression "fVar8 = *pfVar5" (identifier "fVar8") (= "=") (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5"))) (; ";")) (if_statement "if (*pfVar5 == 0.0) {\n    fVar8 = pfVar27[2];\n  }" (if "if") (parenthesized_expression "(*pfVar5 == 0.0)" (( "(") (binary_expression "*pfVar5 == 0.0" (pointer_expression "*pfVar5" (* "*") (identifier "pfVar5")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n    fVar8 = pfVar27[2];\n  }" ({ "{") (expression_statement "fVar8 = pfVar27[2];" (assignment_expression "fVar8 = pfVar27[2]" (identifier "fVar8") (= "=") (subscript_expression "pfVar27[2]" (identifier "pfVar27") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);" (assignment_expression "iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf18e8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf18e8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf18e8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf18e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf18e8)" (( "(") (binary_expression "puVar52 + 0xf18e8" (identifier "puVar52") (+ "+") (number_literal "0xf18e8")) () ")"))))) () ")")) (argument_list "(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x1928" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "-0x1928")) (, ",") (identifier "pfVar31") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n    uVar17 = 0;\n  }\n  else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar17 = 0;\n  }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" (else "else") (compound_statement "{\n    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);\n    if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }\n  }" ({ "{") (expression_statement "uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);" (assignment_expression "uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6)" (identifier "uVar17") (= "=") (call_expression "(**(code **)(puVar52 + 0xf1824))(iVar6)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1824))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1824)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1824)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1824)" (( "(") (binary_expression "puVar52 + 0xf1824" (identifier "puVar52") (+ "+") (number_literal "0xf1824")) () ")"))))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if (uVar17 < 0xff) {\n      uVar17 = uVar17 & 0xff;\n    }\n    else {\n      uVar17 = 0xff;\n    }" (if "if") (parenthesized_expression "(uVar17 < 0xff)" (( "(") (binary_expression "uVar17 < 0xff" (identifier "uVar17") (< "<") (number_literal "0xff")) () ")")) (compound_statement "{\n      uVar17 = uVar17 & 0xff;\n    }" ({ "{") (expression_statement "uVar17 = uVar17 & 0xff;" (assignment_expression "uVar17 = uVar17 & 0xff" (identifier "uVar17") (= "=") (binary_expression "uVar17 & 0xff" (identifier "uVar17") (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n      uVar17 = 0xff;\n    }" (else "else") (compound_statement "{\n      uVar17 = 0xff;\n    }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "fVar38 = pfVar27[7];" (assignment_expression "fVar38 = pfVar27[7]" (identifier "fVar38") (= "=") (subscript_expression "pfVar27[7]" (identifier "pfVar27") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "fVar39 = fVar50;" (assignment_expression "fVar39 = fVar50" (identifier "fVar39") (= "=") (identifier "fVar50")) (; ";")) (if_statement "if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }\n  else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" (if "if") (parenthesized_expression "((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0))" (( "(") (binary_expression "(((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)" (parenthesized_expression "(((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45))" (( "(") (binary_expression "((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)" (parenthesized_expression "((int)pfVar5[0x76] - 6U < 2)" (( "(") (binary_expression "(int)pfVar5[0x76] - 6U < 2" (binary_expression "(int)pfVar5[0x76] - 6U" (cast_expression "(int)pfVar5[0x76]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar5[0x76]" (identifier "pfVar5") ([ "[") (number_literal "0x76") (] "]"))) (- "-") (number_literal "6U")) (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(pfVar5[0x76] == 5.60519e-45)" (( "(") (binary_expression "pfVar5[0x76] == 5.60519e-45" (subscript_expression "pfVar5[0x76]" (identifier "pfVar5") ([ "[") (number_literal "0x76") (] "]")) (== "==") (number_literal "5.60519e-45")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pfVar27[0xaf] != 0.0)" (( "(") (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (!= "!=") (number_literal "0.0")) () ")"))) () ")")) (compound_statement "{\nLAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }\n    uVar26 = 10;\n    fVar59 = pfVar27[0xaf];\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }\n    if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }\n  }" ({ "{") (labeled_statement "LAB_002b7d90:\n    if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" (statement_identifier "LAB_002b7d90") (: ":") (if_statement "if (*pfVar27 != 1.4013e-45) {\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" (if "if") (parenthesized_expression "(*pfVar27 != 1.4013e-45)" (( "(") (binary_expression "*pfVar27 != 1.4013e-45" (pointer_expression "*pfVar27" (* "*") (identifier "pfVar27")) (!= "!=") (number_literal "1.4013e-45")) () ")")) (compound_statement "{\n      uVar26 = 9;\n      if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }\n    }" ({ "{") (expression_statement "uVar26 = 9;" (assignment_expression "uVar26 = 9" (identifier "uVar26") (= "=") (number_literal "9")) (; ";")) (if_statement "if ((uint)pfVar27[9] < 0x101) {\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" (if "if") (parenthesized_expression "((uint)pfVar27[9] < 0x101)" (( "(") (binary_expression "(uint)pfVar27[9] < 0x101" (cast_expression "(uint)pfVar27[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar27[9]" (identifier "pfVar27") ([ "[") (number_literal "9") (] "]"))) (< "<") (number_literal "0x101")) () ")")) (compound_statement "{\n        bVar36 = 0;\n        uVar33 = 8;\n        if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }\n        uVar18 = 0x10;\n        iVar37 = 1;\n        uVar34 = (uint)pfVar27[9] & 0xffff;\n        if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }\n        goto LAB_002b7de4;\n      }" ({ "{") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar33 = 8;" (assignment_expression "uVar33 = 8" (identifier "uVar33") (= "=") (number_literal "8")) (; ";")) (if_statement "if (fVar8 != 2.66247e-44) {\n          uVar26 = 1;\n        }" (if "if") (parenthesized_expression "(fVar8 != 2.66247e-44)" (( "(") (binary_expression "fVar8 != 2.66247e-44" (identifier "fVar8") (!= "!=") (number_literal "2.66247e-44")) () ")")) (compound_statement "{\n          uVar26 = 1;\n        }" ({ "{") (expression_statement "uVar26 = 1;" (assignment_expression "uVar26 = 1" (identifier "uVar26") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" (identifier "uVar18") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "iVar37 = 1;" (assignment_expression "iVar37 = 1" (identifier "iVar37") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar34 = (uint)pfVar27[9] & 0xffff;" (assignment_expression "uVar34 = (uint)pfVar27[9] & 0xffff" (identifier "uVar34") (= "=") (binary_expression "(uint)pfVar27[9] & 0xffff" (cast_expression "(uint)pfVar27[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar27[9]" (identifier "pfVar27") ([ "[") (number_literal "9") (] "]"))) (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if (pfVar5[0xc] != 7.00649e-45) {\n          uVar18 = 0x18;\n        }" (if "if") (parenthesized_expression "(pfVar5[0xc] != 7.00649e-45)" (( "(") (binary_expression "pfVar5[0xc] != 7.00649e-45" (subscript_expression "pfVar5[0xc]" (identifier "pfVar5") ([ "[") (number_literal "0xc") (] "]")) (!= "!=") (number_literal "7.00649e-45")) () ")")) (compound_statement "{\n          uVar18 = 0x18;\n        }" ({ "{") (expression_statement "uVar18 = 0x18;" (assignment_expression "uVar18 = 0x18" (identifier "uVar18") (= "=") (number_literal "0x18")) (; ";")) (} "}"))) (goto_statement "goto LAB_002b7de4;" (goto "goto") (statement_identifier "LAB_002b7de4") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar26 = 10;" (assignment_expression "uVar26 = 10" (identifier "uVar26") (= "=") (number_literal "10")) (; ";")) (expression_statement "fVar59 = pfVar27[0xaf];" (assignment_expression "fVar59 = pfVar27[0xaf]" (identifier "fVar59") (= "=") (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (if_statement "if (fVar8 != 2.66247e-44) {\n      uVar26 = 2;\n    }" (if "if") (parenthesized_expression "(fVar8 != 2.66247e-44)" (( "(") (binary_expression "fVar8 != 2.66247e-44" (identifier "fVar8") (!= "!=") (number_literal "2.66247e-44")) () ")")) (compound_statement "{\n      uVar26 = 2;\n    }" ({ "{") (expression_statement "uVar26 = 2;" (assignment_expression "uVar26 = 2" (identifier "uVar26") (= "=") (number_literal "2")) (; ";")) (} "}"))) (if_statement "if (pfVar5[0xc] == 7.00649e-45) {\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }\n    else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" (if "if") (parenthesized_expression "(pfVar5[0xc] == 7.00649e-45)" (( "(") (binary_expression "pfVar5[0xc] == 7.00649e-45" (subscript_expression "pfVar5[0xc]" (identifier "pfVar5") ([ "[") (number_literal "0xc") (] "]")) (== "==") (number_literal "7.00649e-45")) () ")")) (compound_statement "{\n      bVar36 = fVar59 != 0.0;\n      uVar18 = 0;\n      uVar33 = 0x10;\n      uVar34 = 0;\n      iVar37 = 0;\n    }" ({ "{") (expression_statement "bVar36 = fVar59 != 0.0;" (assignment_expression "bVar36 = fVar59 != 0.0" (identifier "bVar36") (= "=") (binary_expression "fVar59 != 0.0" (identifier "fVar59") (!= "!=") (number_literal "0.0"))) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar33 = 0x10;" (assignment_expression "uVar33 = 0x10" (identifier "uVar33") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" (identifier "iVar37") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" (else "else") (compound_statement "{\n      uVar33 = 0x18;\n      bVar36 = 8;\n      if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }\n      uVar18 = 0;\n      uVar34 = 0;\n      if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }\n      iVar37 = 0;\n    }" ({ "{") (expression_statement "uVar33 = 0x18;" (assignment_expression "uVar33 = 0x18" (identifier "uVar33") (= "=") (number_literal "0x18")) (; ";")) (expression_statement "bVar36 = 8;" (assignment_expression "bVar36 = 8" (identifier "bVar36") (= "=") (number_literal "8")) (; ";")) (if_statement "if (fVar59 != 0.0) {\n        uVar33 = 0x20;\n      }" (if "if") (parenthesized_expression "(fVar59 != 0.0)" (( "(") (binary_expression "fVar59 != 0.0" (identifier "fVar59") (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n        uVar33 = 0x20;\n      }" ({ "{") (expression_statement "uVar33 = 0x20;" (assignment_expression "uVar33 = 0x20" (identifier "uVar33") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (if_statement "if (fVar59 == 0.0) {\n        bVar36 = 0;\n      }" (if "if") (parenthesized_expression "(fVar59 == 0.0)" (( "(") (binary_expression "fVar59 == 0.0" (identifier "fVar59") (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n        bVar36 = 0;\n      }" ({ "{") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" (identifier "iVar37") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" (else "else") (compound_statement "{\n    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);\n    fVar39 = pfVar27[6];\n    if (iVar37 == 0) goto LAB_002b7d90;\n    bVar36 = 0;\n    uVar33 = 8;\n    uVar26 = 0xb;\n    uVar18 = 0;\n    if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }\n    uVar34 = 0;\n    iVar37 = 0;\n  }" ({ "{") (expression_statement "iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);" (assignment_expression "iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31)" (identifier "iVar37") (= "=") (call_expression "(**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1490))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1490)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1490)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1490)" (( "(") (binary_expression "puVar52 + 0xf1490" (identifier "puVar52") (+ "+") (number_literal "0xf1490")) () ")"))))) () ")")) (argument_list "(pfVar27,pfVar31)" (( "(") (identifier "pfVar27") (, ",") (identifier "pfVar31") () ")")))) (; ";")) (expression_statement "fVar39 = pfVar27[6];" (assignment_expression "fVar39 = pfVar27[6]" (identifier "fVar39") (= "=") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (iVar37 == 0) goto LAB_002b7d90;" (if "if") (parenthesized_expression "(iVar37 == 0)" (( "(") (binary_expression "iVar37 == 0" (identifier "iVar37") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002b7d90;" (goto "goto") (statement_identifier "LAB_002b7d90") (; ";"))) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar33 = 8;" (assignment_expression "uVar33 = 8" (identifier "uVar33") (= "=") (number_literal "8")) (; ";")) (expression_statement "uVar26 = 0xb;" (assignment_expression "uVar26 = 0xb" (identifier "uVar26") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (if_statement "if (fVar8 != 2.66247e-44) {\n      uVar26 = 3;\n    }" (if "if") (parenthesized_expression "(fVar8 != 2.66247e-44)" (( "(") (binary_expression "fVar8 != 2.66247e-44" (identifier "fVar8") (!= "!=") (number_literal "2.66247e-44")) () ")")) (compound_statement "{\n      uVar26 = 3;\n    }" ({ "{") (expression_statement "uVar26 = 3;" (assignment_expression "uVar26 = 3" (identifier "uVar26") (= "=") (number_literal "3")) (; ";")) (} "}"))) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" (identifier "iVar37") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_002b7de4:\n  if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }" (statement_identifier "LAB_002b7de4") (: ":") (if_statement "if ((int)pfVar27[4] - 2U < 2) {\n    bVar36 = bVar36 | 0x10;\n  }" (if "if") (parenthesized_expression "((int)pfVar27[4] - 2U < 2)" (( "(") (binary_expression "(int)pfVar27[4] - 2U < 2" (binary_expression "(int)pfVar27[4] - 2U" (cast_expression "(int)pfVar27[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[4]" (identifier "pfVar27") ([ "[") (number_literal "4") (] "]"))) (- "-") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    bVar36 = bVar36 | 0x10;\n  }" ({ "{") (expression_statement "bVar36 = bVar36 | 0x10;" (assignment_expression "bVar36 = bVar36 | 0x10" (identifier "bVar36") (= "=") (binary_expression "bVar36 | 0x10" (identifier "bVar36") (| "|") (number_literal "0x10"))) (; ";")) (} "}")))) (if_statement "if ((uint)pfVar27[4] < 3) {\n    bVar36 = bVar36 | 0x20;\n  }" (if "if") (parenthesized_expression "((uint)pfVar27[4] < 3)" (( "(") (binary_expression "(uint)pfVar27[4] < 3" (cast_expression "(uint)pfVar27[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar27[4]" (identifier "pfVar27") ([ "[") (number_literal "4") (] "]"))) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n    bVar36 = bVar36 | 0x20;\n  }" ({ "{") (expression_statement "bVar36 = bVar36 | 0x20;" (assignment_expression "bVar36 = bVar36 | 0x20" (identifier "bVar36") (= "=") (binary_expression "bVar36 | 0x20" (identifier "bVar36") (| "|") (number_literal "0x20"))) (; ";")) (} "}"))) (if_statement "if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }" (if "if") (parenthesized_expression "(((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000))" (( "(") (binary_expression "((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)" (parenthesized_expression "((uint)fVar39 < 0x10000)" (( "(") (binary_expression "(uint)fVar39 < 0x10000" (cast_expression "(uint)fVar39" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar39")) (< "<") (number_literal "0x10000")) () ")")) (&& "&&") (parenthesized_expression "((uint)pfVar27[7] < 0x10000)" (( "(") (binary_expression "(uint)pfVar27[7] < 0x10000" (cast_expression "(uint)pfVar27[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar27[7]" (identifier "pfVar27") ([ "[") (number_literal "7") (] "]"))) (< "<") (number_literal "0x10000")) () ")"))) () ")")) (compound_statement "{\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);\n    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);\n    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);\n    if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }\n    if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }\n    fVar39 = pfVar27[0xb0];\n    if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }\n    (**(code **)(puVar52 + 0xf1b74))(pfVar27);\n    return (float *)0x1;\n  }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,iVar37)" (( "(") (identifier "pfVar27") (, ",") (identifier "iVar37") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar26)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar26") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1de4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1de4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1de4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1de4)" (( "(") (binary_expression "puVar52 + 0xf1de4" (identifier "puVar52") (+ "+") (number_literal "0xf1de4")) () ")"))))) () ")")) (argument_list "(pfVar27,0)" (( "(") (identifier "pfVar27") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1de4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1de4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1de4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1de4)" (( "(") (binary_expression "puVar52 + 0xf1de4" (identifier "puVar52") (+ "+") (number_literal "0xf1de4")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar34)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar34") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar18)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1de4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1de4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1de4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1de4)" (( "(") (binary_expression "puVar52 + 0xf1de4" (identifier "puVar52") (+ "+") (number_literal "0xf1de4")) () ")"))))) () ")")) (argument_list "(pfVar27,0)" (( "(") (identifier "pfVar27") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1de4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1de4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1de4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1de4)" (( "(") (binary_expression "puVar52 + 0xf1de4" (identifier "puVar52") (+ "+") (number_literal "0xf1de4")) () ")"))))) () ")")) (argument_list "(pfVar27,0)" (( "(") (identifier "pfVar27") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1de4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1de4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1de4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1de4)" (( "(") (binary_expression "puVar52 + 0xf1de4" (identifier "puVar52") (+ "+") (number_literal "0xf1de4")) () ")"))))) () ")")) (argument_list "(pfVar27,(uint)fVar50 & 0xffff)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "(uint)fVar50 & 0xffff" (cast_expression "(uint)fVar50" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar50")) (& "&") (number_literal "0xffff")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);" (call_expression "(**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1de4))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1de4)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1de4)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1de4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1de4)" (( "(") (binary_expression "puVar52 + 0xf1de4" (identifier "puVar52") (+ "+") (number_literal "0xf1de4")) () ")"))))) () ")")) (argument_list "(pfVar27,(uint)fVar38 & 0xffff)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "(uint)fVar38 & 0xffff" (cast_expression "(uint)fVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar38")) (& "&") (number_literal "0xffff")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar33)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar33") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,bVar36)" (( "(") (identifier "pfVar27") (, ",") (identifier "bVar36") () ")"))) (; ";")) (if_statement "if (uVar17 != 0) {\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }" (if "if") (parenthesized_expression "(uVar17 != 0)" (( "(") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);\n    }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);" (call_expression "(**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1e80))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1e80)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1e80)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1e80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1e80)" (( "(") (binary_expression "puVar52 + 0xf1e80" (identifier "puVar52") (+ "+") (number_literal "0xf1e80")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17,iVar6)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar37 != 0) {\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }" (if "if") (parenthesized_expression "(iVar37 != 0)" (( "(") (binary_expression "iVar37 != 0" (identifier "iVar37") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);\n      if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }\n      fVar39 = pfVar27[9];\n      if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }\n      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);\n      (**(code **)(puVar52 + 0xf14ac))(pbVar20);\n    }" ({ "{") (expression_statement "pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);" (assignment_expression "pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar52 + 0xf19f8))(uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf19f8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf19f8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf19f8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf19f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf19f8)" (( "(") (binary_expression "puVar52 + 0xf19f8" (identifier "puVar52") (+ "+") (number_literal "0xf19f8")) () ")"))))) () ")")) (argument_list "(uVar34)" (( "(") (identifier "uVar34") () ")"))))) (; ";")) (if_statement "if (pbVar20 == (byte *)0x0) {\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" (if "if") (parenthesized_expression "(pbVar20 == (byte *)0x0)" (( "(") (binary_expression "pbVar20 == (byte *)0x0" (identifier "pbVar20") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);\n        pfVar31 = pfVar27;\n        if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }\n        goto LAB_002b7c64;\n      }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf140c)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf140c)" (* "*") (cast_expression "(code **)(puVar52 + 0xf140c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf140c)" (( "(") (binary_expression "puVar52 + 0xf140c" (identifier "puVar52") (+ "+") (number_literal "0xf140c")) () ")"))))) () ")")) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788\n                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,\n                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0)" (( "(") (identifier "pfVar31") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3788")) (, ",") (number_literal "0x372") (, ",") (number_literal "400") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x16f8" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x16f8")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "pfVar27 + 0xd0" (identifier "pfVar27") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" (identifier "pfVar31") (= "=") (identifier "pfVar27")) (; ";")) (if_statement "if (pfVar5[3] == 0.0) {\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }\n        else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" (if "if") (parenthesized_expression "(pfVar5[3] == 0.0)" (( "(") (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" (identifier "pfVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n          pcVar53 = *(code **)(puVar52 + 0xf1b74);\n        }" ({ "{") (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" (identifier "pcVar53") (= "=") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" (else "else") (compound_statement "{\n          do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n        }" ({ "{") (do_statement "do {\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          } while ((float *)pfVar27[0xcd9] != (float *)0x0);" (do "do") (compound_statement "{\n            pfVar27 = pfVar31;\n            pcVar53 = *(code **)(puVar52 + 0xf1b74);\n            pfVar31 = (float *)pfVar27[0xcd9];\n          }" ({ "{") (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" (identifier "pfVar27") (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" (identifier "pcVar53") (= "=") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) (; ";")) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" (identifier "pfVar31") (= "=") (cast_expression "(float *)pfVar27[0xcd9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" (( "(") (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]"))) (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (goto_statement "goto LAB_002b7c64;" (goto "goto") (statement_identifier "LAB_002b7c64") (; ";")) (} "}"))) (expression_statement "fVar39 = pfVar27[9];" (assignment_expression "fVar39 = pfVar27[9]" (identifier "fVar39") (= "=") (subscript_expression "pfVar27[9]" (identifier "pfVar27") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (0 < (int)fVar39) {\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }" (if "if") (parenthesized_expression "(0 < (int)fVar39)" (( "(") (binary_expression "0 < (int)fVar39" (number_literal "0") (< "<") (cast_expression "(int)fVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar39"))) () ")")) (compound_statement "{\n        iVar49 = *(int *)(puVar52 + 0xf0dcc);\n        fVar38 = 0.0;\n        iVar19 = *(int *)(puVar52 + 0xf0dcc);\n        dVar65 = *(double *)(iVar49 + 0x1400);\n        iVar37 = *(int *)(puVar52 + 0xf0dd4);\n        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);\n        iVar6 = *(int *)(puVar52 + 0xf0dd8);\n        dVar63 = *(double *)(iVar37 + -0x5ae8);\n        iVar48 = *(int *)(puVar52 + 0xf0dcc);\n        dVar54 = *(double *)(iVar6 + -0x62d8);\n        iVar23 = *(int *)(puVar52 + 0xf0dcc);\n        dVar66 = *(double *)(iVar19 + 0x1a60);\n        dVar61 = *(double *)(iVar48 + 0x1410);\n        fVar50 = pfVar27[10];\n        dVar57 = *(double *)(iVar23 + 0x1a58);\n        fVar59 = pfVar5[0xc];\n        iVar45 = 0;\n        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);\n        pbVar46 = pbVar20;\n        dVar67 = dVar61;\n        dVar69 = dVar68;\n        dVar60 = dVar68;\n        dVar62 = dVar63;\n        do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);\n      }" ({ "{") (expression_statement "iVar49 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar49 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar49") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";")) (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" (identifier "fVar38") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "iVar19 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar19 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";")) (expression_statement "dVar65 = *(double *)(iVar49 + 0x1400);" (assignment_expression "dVar65 = *(double *)(iVar49 + 0x1400)" (identifier "dVar65") (= "=") (pointer_expression "*(double *)(iVar49 + 0x1400)" (* "*") (cast_expression "(double *)(iVar49 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1400)" (( "(") (binary_expression "iVar49 + 0x1400" (identifier "iVar49") (+ "+") (number_literal "0x1400")) () ")"))))) (; ";")) (expression_statement "iVar37 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar37 = *(int *)(puVar52 + 0xf0dd4)" (identifier "iVar37") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")"))))) (; ";")) (expression_statement "dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);" (assignment_expression "dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" (identifier "dVar68") (= "=") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + -0x5af0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + -0x5af0" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(puVar52 + 0xf0dd8);" (assignment_expression "iVar6 = *(int *)(puVar52 + 0xf0dd8)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")"))))) (; ";")) (expression_statement "dVar63 = *(double *)(iVar37 + -0x5ae8);" (assignment_expression "dVar63 = *(double *)(iVar37 + -0x5ae8)" (identifier "dVar63") (= "=") (pointer_expression "*(double *)(iVar37 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar37 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5ae8)" (( "(") (binary_expression "iVar37 + -0x5ae8" (identifier "iVar37") (+ "+") (number_literal "-0x5ae8")) () ")"))))) (; ";")) (expression_statement "iVar48 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar48 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar48") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";")) (expression_statement "dVar54 = *(double *)(iVar6 + -0x62d8);" (assignment_expression "dVar54 = *(double *)(iVar6 + -0x62d8)" (identifier "dVar54") (= "=") (pointer_expression "*(double *)(iVar6 + -0x62d8)" (* "*") (cast_expression "(double *)(iVar6 + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x62d8)" (( "(") (binary_expression "iVar6 + -0x62d8" (identifier "iVar6") (+ "+") (number_literal "-0x62d8")) () ")"))))) (; ";")) (expression_statement "iVar23 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar23 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";")) (expression_statement "dVar66 = *(double *)(iVar19 + 0x1a60);" (assignment_expression "dVar66 = *(double *)(iVar19 + 0x1a60)" (identifier "dVar66") (= "=") (pointer_expression "*(double *)(iVar19 + 0x1a60)" (* "*") (cast_expression "(double *)(iVar19 + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1a60)" (( "(") (binary_expression "iVar19 + 0x1a60" (identifier "iVar19") (+ "+") (number_literal "0x1a60")) () ")"))))) (; ";")) (expression_statement "dVar61 = *(double *)(iVar48 + 0x1410);" (assignment_expression "dVar61 = *(double *)(iVar48 + 0x1410)" (identifier "dVar61") (= "=") (pointer_expression "*(double *)(iVar48 + 0x1410)" (* "*") (cast_expression "(double *)(iVar48 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar48 + 0x1410)" (( "(") (binary_expression "iVar48 + 0x1410" (identifier "iVar48") (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (expression_statement "fVar50 = pfVar27[10];" (assignment_expression "fVar50 = pfVar27[10]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[10]" (identifier "pfVar27") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "dVar57 = *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar57 = *(double *)(iVar23 + 0x1a58)" (identifier "dVar57") (= "=") (pointer_expression "*(double *)(iVar23 + 0x1a58)" (* "*") (cast_expression "(double *)(iVar23 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1a58)" (( "(") (binary_expression "iVar23 + 0x1a58" (identifier "iVar23") (+ "+") (number_literal "0x1a58")) () ")"))))) (; ";")) (expression_statement "fVar59 = pfVar5[0xc];" (assignment_expression "fVar59 = pfVar5[0xc]" (identifier "fVar59") (= "=") (subscript_expression "pfVar5[0xc]" (identifier "pfVar5") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar45 = 0;" (assignment_expression "iVar45 = 0" (identifier "iVar45") (= "=") (number_literal "0")) (; ";")) (expression_statement "fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);" (assignment_expression "fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (identifier "fVar28") (= "=") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3708")) () ")"))))) (; ";")) (expression_statement "pbVar46 = pbVar20;" (assignment_expression "pbVar46 = pbVar20" (identifier "pbVar46") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "dVar67 = dVar61;" (assignment_expression "dVar67 = dVar61" (identifier "dVar67") (= "=") (identifier "dVar61")) (; ";")) (expression_statement "dVar69 = dVar68;" (assignment_expression "dVar69 = dVar68" (identifier "dVar69") (= "=") (identifier "dVar68")) (; ";")) (expression_statement "dVar60 = dVar68;" (assignment_expression "dVar60 = dVar68" (identifier "dVar60") (= "=") (identifier "dVar68")) (; ";")) (expression_statement "dVar62 = dVar63;" (assignment_expression "dVar62 = dVar63" (identifier "dVar62") (= "=") (identifier "dVar63")) (; ";")) (do_statement "do {\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        } while (fVar39 != fVar38);" (do "do") (compound_statement "{\n          iVar51 = (int)fVar50 + iVar45;\n          fVar56 = (float)*(double *)(iVar51 + 0x38);\n          if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }\nLAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);\n          iVar45 = iVar45 + 0x58;\n          pbVar46 = pbVar24;\n        }" ({ "{") (expression_statement "iVar51 = (int)fVar50 + iVar45;" (assignment_expression "iVar51 = (int)fVar50 + iVar45" (identifier "iVar51") (= "=") (binary_expression "(int)fVar50 + iVar45" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (identifier "iVar45"))) (; ";")) (expression_statement "fVar56 = (float)*(double *)(iVar51 + 0x38);" (assignment_expression "fVar56 = (float)*(double *)(iVar51 + 0x38)" (identifier "fVar56") (= "=") (cast_expression "(float)*(double *)(iVar51 + 0x38)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x38)" (* "*") (cast_expression "(double *)(iVar51 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x38)" (( "(") (binary_expression "iVar51 + 0x38" (identifier "iVar51") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (if_statement "if (fVar59 == 7.00649e-45) {\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }\n          else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" (if "if") (parenthesized_expression "(fVar59 == 7.00649e-45)" (( "(") (binary_expression "fVar59 == 7.00649e-45" (identifier "fVar59") (== "==") (number_literal "7.00649e-45")) () ")")) (compound_statement "{\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }\n            if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }\n            fVar56 = pfVar27[0xaf];\n            *pbVar46 = bVar21;\n            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }\n            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 2;\n          }" ({ "{") (if_statement "if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n              bVar21 = 0;\n            }\n            else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" (if "if") (parenthesized_expression "((float)*(double *)(iVar51 + 0x30) <= 0.0)" (( "(") (binary_expression "(float)*(double *)(iVar51 + 0x30) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x30)" (* "*") (cast_expression "(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x30)" (( "(") (binary_expression "iVar51 + 0x30" (identifier "iVar51") (+ "+") (number_literal "0x30")) () ")"))))) (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n              bVar36 = 0;\n              bVar21 = 0;\n            }" ({ "{") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" (identifier "bVar21") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" (else "else") (compound_statement "{\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }\n            }" ({ "{") (expression_statement "dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (identifier "dVar55") (= "=") (binary_expression "((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (parenthesized_expression "((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8))" (( "(") (binary_expression "(double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)" (cast_expression "(double)(float)*(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)*(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x30)" (* "*") (cast_expression "(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x30)" (( "(") (binary_expression "iVar51 + 0x30" (identifier "iVar51") (+ "+") (number_literal "0x30")) () ")")))))) (* "*") (pointer_expression "*(double *)(iVar6 + -0x62d8)" (* "*") (cast_expression "(double *)(iVar6 + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x62d8)" (( "(") (binary_expression "iVar6 + -0x62d8" (identifier "iVar6") (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(iVar23 + 0x1a58)" (* "*") (cast_expression "(double *)(iVar23 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1a58)" (( "(") (binary_expression "iVar23 + 0x1a58" (identifier "iVar23") (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }\n              else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" (if "if") (parenthesized_expression "(dVar55 < *(double *)(iVar19 + 0x1a60))" (( "(") (binary_expression "dVar55 < *(double *)(iVar19 + 0x1a60)" (identifier "dVar55") (< "<") (pointer_expression "*(double *)(iVar19 + 0x1a60)" (* "*") (cast_expression "(double *)(iVar19 + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1a60)" (( "(") (binary_expression "iVar19 + 0x1a60" (identifier "iVar19") (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);\n                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);\n              }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" (( "(") (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" (identifier "dVar55") (+ "+") (pointer_expression "*(double *)(iVar49 + 0x1400)" (* "*") (cast_expression "(double *)(iVar49 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1400)" (( "(") (binary_expression "iVar49 + 0x1400" (identifier "iVar49") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);" (assignment_expression "bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" (identifier "bVar36") (= "=") (call_expression "(byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e)" (( "(") (binary_expression "((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_08 & 0xff) << 0x1b)" (( "(") (binary_expression "(extraout_v1_08 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_08 & 0xff)" (( "(") (binary_expression "extraout_v1_08 & 0xff" (identifier "extraout_v1_08") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x1b")) () ")")) (>> ">>") (number_literal "0x1e")) () ")")))) (; ";")) (expression_statement "bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);" (assignment_expression "bVar21 = (byte)((extraout_v1_08 & 0xff) << 5)" (identifier "bVar21") (= "=") (call_expression "(byte)((extraout_v1_08 & 0xff) << 5)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((extraout_v1_08 & 0xff) << 5)" (( "(") (binary_expression "(extraout_v1_08 & 0xff) << 5" (parenthesized_expression "(extraout_v1_08 & 0xff)" (( "(") (binary_expression "extraout_v1_08 & 0xff" (identifier "extraout_v1_08") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "5")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" (else "else") (compound_statement "{\n                bVar36 = 3;\n                bVar21 = 0xe0;\n              }" ({ "{") (expression_statement "bVar36 = 3;" (assignment_expression "bVar36 = 3" (identifier "bVar36") (= "=") (number_literal "3")) (; ";")) (expression_statement "bVar21 = 0xe0;" (assignment_expression "bVar21 = 0xe0" (identifier "bVar21") (= "=") (number_literal "0xe0")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (0.0 < fVar56) {\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }" (if "if") (parenthesized_expression "(0.0 < fVar56)" (( "(") (binary_expression "0.0 < fVar56" (number_literal "0.0") (< "<") (identifier "fVar56")) () ")")) (compound_statement "{\n              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);\n              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }\n            }" ({ "{") (expression_statement "dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58);" (assignment_expression "dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (identifier "dVar55") (= "=") (binary_expression "((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /\n                       *(double *)(iVar23 + 0x1a58)" (parenthesized_expression "((double)fVar56 * *(double *)(iVar6 + -0x62d8))" (( "(") (binary_expression "(double)fVar56 * *(double *)(iVar6 + -0x62d8)" (cast_expression "(double)fVar56" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar56")) (* "*") (pointer_expression "*(double *)(iVar6 + -0x62d8)" (* "*") (cast_expression "(double *)(iVar6 + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + -0x62d8)" (( "(") (binary_expression "iVar6 + -0x62d8" (identifier "iVar6") (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(iVar23 + 0x1a58)" (* "*") (cast_expression "(double *)(iVar23 + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1a58)" (( "(") (binary_expression "iVar23 + 0x1a58" (identifier "iVar23") (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar55 < *(double *)(iVar19 + 0x1a60)) {\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }\n              else {\n                bVar21 = 0xff;\n              }" (if "if") (parenthesized_expression "(dVar55 < *(double *)(iVar19 + 0x1a60))" (( "(") (binary_expression "dVar55 < *(double *)(iVar19 + 0x1a60)" (identifier "dVar55") (< "<") (pointer_expression "*(double *)(iVar19 + 0x1a60)" (* "*") (cast_expression "(double *)(iVar19 + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1a60)" (( "(") (binary_expression "iVar19 + 0x1a60" (identifier "iVar19") (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n                bVar21 = bVar21 | extraout_v1_10;\n              }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" (( "(") (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" (identifier "dVar55") (+ "+") (pointer_expression "*(double *)(iVar49 + 0x1400)" (* "*") (cast_expression "(double *)(iVar49 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1400)" (( "(") (binary_expression "iVar49 + 0x1400" (identifier "iVar49") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "bVar21 = bVar21 | extraout_v1_10;" (assignment_expression "bVar21 = bVar21 | extraout_v1_10" (identifier "bVar21") (= "=") (binary_expression "bVar21 | extraout_v1_10" (identifier "bVar21") (| "|") (identifier "extraout_v1_10"))) (; ";")) (} "}")) (else_clause "else {\n                bVar21 = 0xff;\n              }" (else "else") (compound_statement "{\n                bVar21 = 0xff;\n              }" ({ "{") (expression_statement "bVar21 = 0xff;" (assignment_expression "bVar21 = 0xff" (identifier "bVar21") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}"))) (expression_statement "fVar56 = pfVar27[0xaf];" (assignment_expression "fVar56 = pfVar27[0xaf]" (identifier "fVar56") (= "=") (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "*pbVar46 = bVar21;" (assignment_expression "*pbVar46 = bVar21" (pointer_expression "*pbVar46" (* "*") (identifier "pbVar46")) (= "=") (identifier "bVar21")) (; ";")) (if_statement "if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {\n              bVar36 = bVar36 | 0x80;\n            }" (if "if") (parenthesized_expression "((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48)))" (( "(") (binary_expression "(fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))" (parenthesized_expression "(fVar56 != 0.0)" (( "(") (binary_expression "fVar56 != 0.0" (identifier "fVar56") (!= "!=") (number_literal "0.0")) () ")")) (&& "&&") (parenthesized_expression "(fVar28 < (float)*(double *)(iVar51 + 0x48))" (( "(") (binary_expression "fVar28 < (float)*(double *)(iVar51 + 0x48)" (identifier "fVar28") (< "<") (cast_expression "(float)*(double *)(iVar51 + 0x48)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x48)" (* "*") (cast_expression "(double *)(iVar51 + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x48)" (( "(") (binary_expression "iVar51 + 0x48" (identifier "iVar51") (+ "+") (number_literal "0x48")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n              bVar36 = bVar36 | 0x80;\n            }" ({ "{") (expression_statement "bVar36 = bVar36 | 0x80;" (assignment_expression "bVar36 = bVar36 | 0x80" (identifier "bVar36") (= "=") (binary_expression "bVar36 | 0x80" (identifier "bVar36") (| "|") (number_literal "0x80"))) (; ";")) (} "}"))) (if_statement "if (0.0 < (float)*(double *)(iVar51 + 0x28)) {\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" (if "if") (parenthesized_expression "(0.0 < (float)*(double *)(iVar51 + 0x28))" (( "(") (binary_expression "0.0 < (float)*(double *)(iVar51 + 0x28)" (number_literal "0.0") (< "<") (cast_expression "(float)*(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x28)" (* "*") (cast_expression "(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x28)" (( "(") (binary_expression "iVar51 + 0x28" (identifier "iVar51") (+ "+") (number_literal "0x28")) () ")")))))) () ")")) (compound_statement "{\n              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;\n              if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }\n              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));\n              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);\n            }" ({ "{") (expression_statement "dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;" (assignment_expression "dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57" (identifier "dVar55") (= "=") (binary_expression "((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57" (parenthesized_expression "((double)(float)*(double *)(iVar51 + 0x28) * dVar54)" (( "(") (binary_expression "(double)(float)*(double *)(iVar51 + 0x28) * dVar54" (cast_expression "(double)(float)*(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)*(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x28)" (* "*") (cast_expression "(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x28)" (( "(") (binary_expression "iVar51 + 0x28" (identifier "iVar51") (+ "+") (number_literal "0x28")) () ")")))))) (* "*") (identifier "dVar54")) () ")")) (/ "/") (identifier "dVar57"))) (; ";")) (if_statement "if (dVar66 <= dVar55) {\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }" (if "if") (parenthesized_expression "(dVar66 <= dVar55)" (( "(") (binary_expression "dVar66 <= dVar55" (identifier "dVar66") (<= "<=") (identifier "dVar55")) () ")")) (compound_statement "{\n                pbVar24 = pbVar46 + 2;\n                pbVar46[1] = bVar36 | 0xfc;\n                goto LAB_002b97b4;\n              }" ({ "{") (expression_statement "pbVar24 = pbVar46 + 2;" (assignment_expression "pbVar24 = pbVar46 + 2" (identifier "pbVar24") (= "=") (binary_expression "pbVar46 + 2" (identifier "pbVar46") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar46[1] = bVar36 | 0xfc;" (assignment_expression "pbVar46[1] = bVar36 | 0xfc" (subscript_expression "pbVar46[1]" (identifier "pbVar46") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "bVar36 | 0xfc" (identifier "bVar36") (| "|") (number_literal "0xfc"))) (; ";")) (goto_statement "goto LAB_002b97b4;" (goto "goto") (statement_identifier "LAB_002b97b4") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar55 + *(double *)(iVar49 + 0x1400))" (( "(") (binary_expression "dVar55 + *(double *)(iVar49 + 0x1400)" (identifier "dVar55") (+ "+") (pointer_expression "*(double *)(iVar49 + 0x1400)" (* "*") (cast_expression "(double *)(iVar49 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1400)" (( "(") (binary_expression "iVar49 + 0x1400" (identifier "iVar49") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);" (assignment_expression "bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2)" (identifier "bVar36") (= "=") (binary_expression "bVar36 | (byte)((extraout_v1_09 & 0xff) << 2)" (identifier "bVar36") (| "|") (call_expression "(byte)((extraout_v1_09 & 0xff) << 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((extraout_v1_09 & 0xff) << 2)" (( "(") (binary_expression "(extraout_v1_09 & 0xff) << 2" (parenthesized_expression "(extraout_v1_09 & 0xff)" (( "(") (binary_expression "extraout_v1_09 & 0xff" (identifier "extraout_v1_09") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "2")) () ")"))))) (; ";")) (} "}"))) (expression_statement "pbVar46[1] = bVar36;" (assignment_expression "pbVar46[1] = bVar36" (subscript_expression "pbVar46[1]" (identifier "pbVar46") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "bVar36")) (; ";")) (expression_statement "pbVar24 = pbVar46 + 2;" (assignment_expression "pbVar24 = pbVar46 + 2" (identifier "pbVar24") (= "=") (binary_expression "pbVar46 + 2" (identifier "pbVar46") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" (else "else") (compound_statement "{\n            bVar36 = 0;\n            if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            *pbVar46 = bVar36;\n            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[1] = bVar36;\n            pbVar24 = pbVar46 + 3;\n            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }\n            pbVar46[2] = bVar36;\n          }" ({ "{") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0.0 < fVar56) {\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" (if "if") (parenthesized_expression "(0.0 < fVar56)" (( "(") (binary_expression "0.0 < fVar56" (number_literal "0.0") (< "<") (identifier "fVar56")) () ")")) (compound_statement "{\n              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" ({ "{") (if_statement "if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" (if "if") (parenthesized_expression "((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8))" (( "(") (binary_expression "(double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)" (binary_expression "(double)fVar56 / dVar68" (cast_expression "(double)fVar56" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar56")) (/ "/") (identifier "dVar68")) (< "<") (pointer_expression "*(double *)(iVar37 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar37 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5ae8)" (( "(") (binary_expression "iVar37 + -0x5ae8" (identifier "iVar37") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                dVar58 = *(double *)(iVar48 + 0x1410);\n                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);\n                if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }\n              }" ({ "{") (expression_statement "dVar58 = *(double *)(iVar48 + 0x1410);" (assignment_expression "dVar58 = *(double *)(iVar48 + 0x1410)" (identifier "dVar58") (= "=") (pointer_expression "*(double *)(iVar48 + 0x1410)" (* "*") (cast_expression "(double *)(iVar48 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar48 + 0x1410)" (( "(") (binary_expression "iVar48 + 0x1410" (identifier "iVar48") (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (expression_statement "dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);" (assignment_expression "dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400)" (identifier "dVar55") (= "=") (binary_expression "(double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400)" (binary_expression "(double)fVar56 / dVar68" (cast_expression "(double)fVar56" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar56")) (/ "/") (identifier "dVar68")) (+ "+") (pointer_expression "*(double *)(iVar49 + 0x1400)" (* "*") (cast_expression "(double *)(iVar49 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1400)" (( "(") (binary_expression "iVar49 + 0x1400" (identifier "iVar49") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (dVar55 < dVar58) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" (if "if") (parenthesized_expression "(dVar55 < dVar58)" (( "(") (binary_expression "dVar55 < dVar58" (identifier "dVar55") (< "<") (identifier "dVar58")) () ")")) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" ({ "{") (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" (identifier "bVar36") (= "=") (cast_expression "(byte)(int)dVar55" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(int)dVar55" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar55")))) (; ";")) (} "}")) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" (else "else") (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar58);\n                }" ({ "{") (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar58);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar58)" (identifier "bVar36") (= "=") (call_expression "(byte)(int)(dVar55 - dVar58)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (argument_list "(dVar55 - dVar58)" (( "(") (binary_expression "dVar55 - dVar58" (identifier "dVar55") (- "-") (identifier "dVar58")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                bVar36 = 0xff;\n              }" (else "else") (compound_statement "{\n                bVar36 = 0xff;\n              }" ({ "{") (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" (identifier "bVar36") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}"))) (expression_statement "*pbVar46 = bVar36;" (assignment_expression "*pbVar46 = bVar36" (pointer_expression "*pbVar46" (* "*") (identifier "pbVar46")) (= "=") (identifier "bVar36")) (; ";")) (if_statement "if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" (if "if") (parenthesized_expression "((float)*(double *)(iVar51 + 0x30) <= 0.0)" (( "(") (binary_expression "(float)*(double *)(iVar51 + 0x30) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x30)" (* "*") (cast_expression "(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x30)" (( "(") (binary_expression "iVar51 + 0x30" (identifier "iVar51") (+ "+") (number_literal "0x30")) () ")"))))) (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n              bVar36 = 0;\n            }" ({ "{") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" (else "else") (compound_statement "{\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;\n              if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" ({ "{") (expression_statement "dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;" (assignment_expression "dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69" (identifier "dVar55") (= "=") (binary_expression "(double)(float)*(double *)(iVar51 + 0x30) / dVar69" (cast_expression "(double)(float)*(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)*(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x30)" (* "*") (cast_expression "(double *)(iVar51 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x30)" (( "(") (binary_expression "iVar51 + 0x30" (identifier "iVar51") (+ "+") (number_literal "0x30")) () ")")))))) (/ "/") (identifier "dVar69"))) (; ";")) (if_statement "if (dVar55 < dVar62) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" (if "if") (parenthesized_expression "(dVar55 < dVar62)" (( "(") (binary_expression "dVar55 < dVar62" (identifier "dVar55") (< "<") (identifier "dVar62")) () ")")) (compound_statement "{\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }\n              }" ({ "{") (expression_statement "dVar55 = dVar55 + dVar65;" (assignment_expression "dVar55 = dVar55 + dVar65" (identifier "dVar55") (= "=") (binary_expression "dVar55 + dVar65" (identifier "dVar55") (+ "+") (identifier "dVar65"))) (; ";")) (if_statement "if (dVar55 < dVar61) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" (if "if") (parenthesized_expression "(dVar55 < dVar61)" (( "(") (binary_expression "dVar55 < dVar61" (identifier "dVar55") (< "<") (identifier "dVar61")) () ")")) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" ({ "{") (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" (identifier "bVar36") (= "=") (cast_expression "(byte)(int)dVar55" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(int)dVar55" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar55")))) (; ";")) (} "}")) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" (else "else") (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar61);\n                }" ({ "{") (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar61);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar61)" (identifier "bVar36") (= "=") (call_expression "(byte)(int)(dVar55 - dVar61)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (argument_list "(dVar55 - dVar61)" (( "(") (binary_expression "dVar55 - dVar61" (identifier "dVar55") (- "-") (identifier "dVar61")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                bVar36 = 0xff;\n              }" (else "else") (compound_statement "{\n                bVar36 = 0xff;\n              }" ({ "{") (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" (identifier "bVar36") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "pbVar46[1] = bVar36;" (assignment_expression "pbVar46[1] = bVar36" (subscript_expression "pbVar46[1]" (identifier "pbVar46") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "bVar36")) (; ";")) (expression_statement "pbVar24 = pbVar46 + 3;" (assignment_expression "pbVar24 = pbVar46 + 3" (identifier "pbVar24") (= "=") (binary_expression "pbVar46 + 3" (identifier "pbVar46") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {\n              bVar36 = 0;\n            }\n            else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" (if "if") (parenthesized_expression "((float)*(double *)(iVar51 + 0x28) <= 0.0)" (( "(") (binary_expression "(float)*(double *)(iVar51 + 0x28) <= 0.0" (cast_expression "(float)*(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x28)" (* "*") (cast_expression "(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x28)" (( "(") (binary_expression "iVar51 + 0x28" (identifier "iVar51") (+ "+") (number_literal "0x28")) () ")"))))) (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n              bVar36 = 0;\n            }" ({ "{") (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" (identifier "bVar36") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" (else "else") (compound_statement "{\n              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;\n              if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }\n            }" ({ "{") (expression_statement "dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;" (assignment_expression "dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60" (identifier "dVar55") (= "=") (binary_expression "(double)(float)*(double *)(iVar51 + 0x28) / dVar60" (cast_expression "(double)(float)*(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)*(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar51 + 0x28)" (* "*") (cast_expression "(double *)(iVar51 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x28)" (( "(") (binary_expression "iVar51 + 0x28" (identifier "iVar51") (+ "+") (number_literal "0x28")) () ")")))))) (/ "/") (identifier "dVar60"))) (; ";")) (if_statement "if (dVar55 < dVar63) {\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }\n              else {\n                bVar36 = 0xff;\n              }" (if "if") (parenthesized_expression "(dVar55 < dVar63)" (( "(") (binary_expression "dVar55 < dVar63" (identifier "dVar55") (< "<") (identifier "dVar63")) () ")")) (compound_statement "{\n                dVar55 = dVar55 + dVar65;\n                if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }\n              }" ({ "{") (expression_statement "dVar55 = dVar55 + dVar65;" (assignment_expression "dVar55 = dVar55 + dVar65" (identifier "dVar55") (= "=") (binary_expression "dVar55 + dVar65" (identifier "dVar55") (+ "+") (identifier "dVar65"))) (; ";")) (if_statement "if (dVar55 < dVar67) {\n                  bVar36 = (byte)(int)dVar55;\n                }\n                else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" (if "if") (parenthesized_expression "(dVar55 < dVar67)" (( "(") (binary_expression "dVar55 < dVar67" (identifier "dVar55") (< "<") (identifier "dVar67")) () ")")) (compound_statement "{\n                  bVar36 = (byte)(int)dVar55;\n                }" ({ "{") (expression_statement "bVar36 = (byte)(int)dVar55;" (assignment_expression "bVar36 = (byte)(int)dVar55" (identifier "bVar36") (= "=") (cast_expression "(byte)(int)dVar55" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(int)dVar55" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar55")))) (; ";")) (} "}")) (else_clause "else {\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" (else "else") (compound_statement "{\n                  bVar36 = (byte)(int)(dVar55 - dVar67);\n                }" ({ "{") (expression_statement "bVar36 = (byte)(int)(dVar55 - dVar67);" (assignment_expression "bVar36 = (byte)(int)(dVar55 - dVar67)" (identifier "bVar36") (= "=") (call_expression "(byte)(int)(dVar55 - dVar67)" (call_expression "(byte)(int)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (argument_list "(dVar55 - dVar67)" (( "(") (binary_expression "dVar55 - dVar67" (identifier "dVar55") (- "-") (identifier "dVar67")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                bVar36 = 0xff;\n              }" (else "else") (compound_statement "{\n                bVar36 = 0xff;\n              }" ({ "{") (expression_statement "bVar36 = 0xff;" (assignment_expression "bVar36 = 0xff" (identifier "bVar36") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "pbVar46[2] = bVar36;" (assignment_expression "pbVar46[2] = bVar36" (subscript_expression "pbVar46[2]" (identifier "pbVar46") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "bVar36")) (; ";")) (} "}")))) (labeled_statement "LAB_002b97b4:\n          fVar38 = (float)((int)fVar38 + 1);" (statement_identifier "LAB_002b97b4") (: ":") (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" (identifier "fVar38") (= "=") (cast_expression "(float)((int)fVar38 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fVar38 + 1)" (( "(") (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar38")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "iVar45 = iVar45 + 0x58;" (assignment_expression "iVar45 = iVar45 + 0x58" (identifier "iVar45") (= "=") (binary_expression "iVar45 + 0x58" (identifier "iVar45") (+ "+") (number_literal "0x58"))) (; ";")) (expression_statement "pbVar46 = pbVar24;" (assignment_expression "pbVar46 = pbVar24" (identifier "pbVar46") (= "=") (identifier "pbVar24")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(fVar39 != fVar38)" (( "(") (binary_expression "fVar39 != fVar38" (identifier "fVar39") (!= "!=") (identifier "fVar38")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);" (call_expression "(**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1e80))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1e80)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1e80)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1e80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1e80)" (( "(") (binary_expression "puVar52 + 0xf1e80" (identifier "puVar52") (+ "+") (number_literal "0xf1e80")) () ")"))))) () ")")) (argument_list "(pfVar27,(uVar18 >> 3) * uVar34,pbVar20)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "(uVar18 >> 3) * uVar34" (parenthesized_expression "(uVar18 >> 3)" (( "(") (binary_expression "uVar18 >> 3" (identifier "uVar18") (>> ">>") (number_literal "3")) () ")")) (* "*") (identifier "uVar34")) (, ",") (identifier "pbVar20") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14ac))(pbVar20);" (call_expression "(**(code **)(puVar52 + 0xf14ac))(pbVar20)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14ac))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14ac)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14ac)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14ac)" (( "(") (binary_expression "puVar52 + 0xf14ac" (identifier "puVar52") (+ "+") (number_literal "0xf14ac")) () ")"))))) () ")")) (argument_list "(pbVar20)" (( "(") (identifier "pbVar20") () ")"))) (; ";")) (} "}"))) (expression_statement "fVar39 = pfVar27[0xb0];" (assignment_expression "fVar39 = pfVar27[0xb0]" (identifier "fVar39") (= "=") (subscript_expression "pfVar27[0xb0]" (identifier "pfVar27") ([ "[") (number_literal "0xb0") (] "]"))) (; ";")) (if_statement "if (0 < (int)pfVar27[7]) {\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }" (if "if") (parenthesized_expression "(0 < (int)pfVar27[7])" (( "(") (binary_expression "0 < (int)pfVar27[7]" (number_literal "0") (< "<") (cast_expression "(int)pfVar27[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[7]" (identifier "pfVar27") ([ "[") (number_literal "7") (] "]")))) () ")")) (compound_statement "{\n      iVar37 = *(int *)(puVar52 + 0xf0dd4);\n      iVar48 = (int)fVar39 * 4;\n      iVar23 = *(int *)(puVar52 + 0xf0dcc);\n      iVar6 = 0;\n      dVar69 = *(double *)(iVar37 + -0x5af0);\n      dVar67 = *(double *)(iVar23 + 0x1400);\n      uStack_1c8 = 0;\n      fVar38 = 0.0;\n      fStack_1a0 = 0.0;\n      do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);\n    }" ({ "{") (expression_statement "iVar37 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar37 = *(int *)(puVar52 + 0xf0dd4)" (identifier "iVar37") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")"))))) (; ";")) (expression_statement "iVar48 = (int)fVar39 * 4;" (assignment_expression "iVar48 = (int)fVar39 * 4" (identifier "iVar48") (= "=") (binary_expression "(int)fVar39 * 4" (cast_expression "(int)fVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar39")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar23 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar23 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar69 = *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar69 = *(double *)(iVar37 + -0x5af0)" (identifier "dVar69") (= "=") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "dVar67 = *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar67 = *(double *)(iVar23 + 0x1400)" (identifier "dVar67") (= "=") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) (; ";")) (expression_statement "uStack_1c8 = 0;" (assignment_expression "uStack_1c8 = 0" (identifier "uStack_1c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" (identifier "fVar38") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "fStack_1a0 = 0.0;" (assignment_expression "fStack_1a0 = 0.0" (identifier "fStack_1a0") (= "=") (number_literal "0.0")) (; ";")) (do_statement "do {\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      } while ((int)uVar17 < (int)fVar50);" (do "do") (compound_statement "{\n        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);\n        if (iVar19 == 0) break;\n        fVar50 = pfVar27[6];\n        if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }\n        fVar50 = pfVar27[7];\n        fVar38 = (float)((int)fVar38 + 1);\n        if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }\n        if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }\n        uVar17 = uStack_1c8 + 1;\n        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;\n        uStack_1c8 = uVar17;\n      }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);" (assignment_expression "iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1c50))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1c50)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1c50)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1c50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1c50)" (( "(") (binary_expression "puVar52 + 0xf1c50" (identifier "puVar52") (+ "+") (number_literal "0xf1c50")) () ")"))))) () ")")) (argument_list "(pfVar27,0,fVar38,pfVar27[6],1,pfVar31)" (( "(") (identifier "pfVar27") (, ",") (number_literal "0") (, ",") (identifier "fVar38") (, ",") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "1") (, ",") (identifier "pfVar31") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (fVar8 == 2.66247e-44) {\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }\n        else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" (if "if") (parenthesized_expression "(fVar8 == 2.66247e-44)" (( "(") (binary_expression "fVar8 == 2.66247e-44" (identifier "fVar8") (== "==") (number_literal "2.66247e-44")) () ")")) (compound_statement "{\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }\n        }" ({ "{") (expression_statement "iVar45 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar45 = *(int *)(puVar52 + 0xf0dd4)" (identifier "iVar45") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")"))))) (; ";")) (if_statement "if (0 < (int)fVar50) {\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }" (if "if") (parenthesized_expression "(0 < (int)fVar50)" (( "(") (binary_expression "0 < (int)fVar50" (number_literal "0") (< "<") (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50"))) () ")")) (compound_statement "{\n            fStack_1ec = 0.0;\n            dVar60 = *(double *)(iVar45 + -0x5ae8);\n            iVar49 = 0;\n            do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);\n          }" ({ "{") (expression_statement "fStack_1ec = 0.0;" (assignment_expression "fStack_1ec = 0.0" (identifier "fStack_1ec") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "dVar60 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar60 = *(double *)(iVar45 + -0x5ae8)" (identifier "dVar60") (= "=") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) (; ";")) (expression_statement "iVar49 = 0;" (assignment_expression "iVar49 = 0" (identifier "iVar49") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            } while ((int)fStack_1ec < (int)fVar50);" (do "do") (compound_statement "{\n              iVar44 = 1;\n              iVar32 = iVar48;\n              fVar59 = fStack_1ec;\n              iVar51 = iVar49;\n              do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);\n              fVar59 = (float)((int)fStack_1ec + 0x80);\nLAB_002b8734:\n              bVar1 = iVar44 < 3;\n              fStack_1ec = fVar59;\n              if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }\nLAB_002b869c:\n              iVar49 = iVar51;\n            }" ({ "{") (expression_statement "iVar44 = 1;" (assignment_expression "iVar44 = 1" (identifier "iVar44") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar32 = iVar48;" (assignment_expression "iVar32 = iVar48" (identifier "iVar32") (= "=") (identifier "iVar48")) (; ";")) (expression_statement "fVar59 = fStack_1ec;" (assignment_expression "fVar59 = fStack_1ec" (identifier "fVar59") (= "=") (identifier "fStack_1ec")) (; ";")) (expression_statement "iVar51 = iVar49;" (assignment_expression "iVar51 = iVar49" (identifier "iVar51") (= "=") (identifier "iVar49")) (; ";")) (do_statement "do {\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              } while (iVar44 != 0x80);" (do "do") (compound_statement "{\n                iVar51 = iVar51 + 1;\n                fVar59 = (float)((int)fVar59 + 1);\n                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }\n                fVar28 = pfVar27[0xb4];\n                if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }\n                iVar44 = iVar44 + 1;\n                iVar32 = iVar32 + iVar48;\n              }" ({ "{") (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" (identifier "iVar51") (= "=") (binary_expression "iVar51 + 1" (identifier "iVar51") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fVar59 = (float)((int)fVar59 + 1);" (assignment_expression "fVar59 = (float)((int)fVar59 + 1)" (identifier "fVar59") (= "=") (cast_expression "(float)((int)fVar59 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fVar59 + 1)" (( "(") (binary_expression "(int)fVar59 + 1" (cast_expression "(int)fVar59" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar59")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" (if "if") (parenthesized_expression "((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59))" (( "(") (binary_expression "(0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)" (parenthesized_expression "(0x7f < iVar51)" (( "(") (binary_expression "0x7f < iVar51" (number_literal "0x7f") (< "<") (identifier "iVar51")) () ")")) (|| "||") (parenthesized_expression "((int)fVar50 <= (int)fVar59)" (( "(") (binary_expression "(int)fVar50 <= (int)fVar59" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (<= "<=") (cast_expression "(int)fVar59" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar59"))) () ")"))) () ")")) (compound_statement "{\n                  bVar1 = iVar44 < 3;\n                  if (!bVar1) goto LAB_002b8734;\n                  iVar19 = iVar44 * iVar48 + iVar19;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (iVar51 == 0x80) goto LAB_002b8a88;\nLAB_002b8690:\n                  bVar1 = iVar44 < 3;\n                  iVar49 = iVar51;\n                  fStack_1ec = fVar59;\n                  if (fVar59 != fVar50) goto LAB_002b869c;\n                  goto LAB_002b8a88;\n                }" ({ "{") (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" (identifier "bVar1") (= "=") (binary_expression "iVar44 < 3" (identifier "iVar44") (< "<") (number_literal "3"))) (; ";")) (if_statement "if (!bVar1) goto LAB_002b8734;" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (goto_statement "goto LAB_002b8734;" (goto "goto") (statement_identifier "LAB_002b8734") (; ";"))) (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" (identifier "iVar19") (= "=") (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" (identifier "iVar44") (* "*") (identifier "iVar48")) (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" (identifier "iVar49") (= "=") (identifier "iVar51")) (; ";")) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" (identifier "fStack_1ec") (= "=") (identifier "fVar59")) (; ";")) (if_statement "if (iVar51 == 0x80) goto LAB_002b8a88;" (if "if") (parenthesized_expression "(iVar51 == 0x80)" (( "(") (binary_expression "iVar51 == 0x80" (identifier "iVar51") (== "==") (number_literal "0x80")) () ")")) (goto_statement "goto LAB_002b8a88;" (goto "goto") (statement_identifier "LAB_002b8a88") (; ";"))) (labeled_statement "LAB_002b8690:\n                  bVar1 = iVar44 < 3;" (statement_identifier "LAB_002b8690") (: ":") (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" (identifier "bVar1") (= "=") (binary_expression "iVar44 < 3" (identifier "iVar44") (< "<") (number_literal "3"))) (; ";"))) (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" (identifier "iVar49") (= "=") (identifier "iVar51")) (; ";")) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" (identifier "fStack_1ec") (= "=") (identifier "fVar59")) (; ";")) (if_statement "if (fVar59 != fVar50) goto LAB_002b869c;" (if "if") (parenthesized_expression "(fVar59 != fVar50)" (( "(") (binary_expression "fVar59 != fVar50" (identifier "fVar59") (!= "!=") (identifier "fVar50")) () ")")) (goto_statement "goto LAB_002b869c;" (goto "goto") (statement_identifier "LAB_002b869c") (; ";"))) (goto_statement "goto LAB_002b8a88;" (goto "goto") (statement_identifier "LAB_002b8a88") (; ";")) (} "}"))) (expression_statement "fVar28 = pfVar27[0xb4];" (assignment_expression "fVar28 = pfVar27[0xb4]" (identifier "fVar28") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if (uVar26 == 9) {\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }\n                else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(uVar26 == 9)" (( "(") (binary_expression "uVar26 == 9" (identifier "uVar26") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;\n                }" ({ "{") (if_statement "if ((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;" (if "if") (parenthesized_expression "((*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)))" (( "(") (binary_expression "(*(int *)((int)fVar28 + 0x40) != 0) &&\n                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))" (parenthesized_expression "(*(int *)((int)fVar28 + 0x40) != 0)" (( "(") (binary_expression "*(int *)((int)fVar28 + 0x40) != 0" (pointer_expression "*(int *)((int)fVar28 + 0x40)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x40)" (( "(") (binary_expression "(int)fVar28 + 0x40" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29))" (( "(") (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x44) * 4,\n                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x44) * 4" (identifier "iVar29") (= "=") (binary_expression "*(int *)((int)fVar28 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x44)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x44)" (( "(") (binary_expression "(int)fVar28 + 0x44" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) (, ",") (binary_expression "*(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=\n                     *(float *)(iVar19 + iVar32 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" (* "*") (cast_expression "(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4)" (( "(") (binary_expression "iVar19 + iVar32 + iVar29 + (int)fVar39 * -4" (binary_expression "iVar19 + iVar32 + iVar29" (binary_expression "iVar19 + iVar32" (identifier "iVar19") (+ "+") (identifier "iVar32")) (+ "+") (identifier "iVar29")) (+ "+") (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar39")) (* "*") (number_literal "-4"))) () ")")))) (!= "!=") (pointer_expression "*(float *)(iVar19 + iVar32 + iVar29)" (* "*") (cast_expression "(float *)(iVar19 + iVar32 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar32 + iVar29)" (( "(") (binary_expression "iVar19 + iVar32 + iVar29" (binary_expression "iVar19 + iVar32" (identifier "iVar19") (+ "+") (identifier "iVar32")) (+ "+") (identifier "iVar29")) () ")")))))) () ")"))) () ")")) (goto_statement "goto LAB_002b8680;" (goto "goto") (statement_identifier "LAB_002b8680") (; ";"))) (} "}")) (else_clause "else {\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar35 = iVar32 + (int)fVar39 * -4;\n                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;\n                  if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }\n                }" ({ "{") (expression_statement "iVar35 = iVar32 + (int)fVar39 * -4;" (assignment_expression "iVar35 = iVar32 + (int)fVar39 * -4" (identifier "iVar35") (= "=") (binary_expression "iVar32 + (int)fVar39 * -4" (identifier "iVar32") (+ "+") (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar39")) (* "*") (number_literal "-4")))) (; ";")) (expression_statement "iVar29 = *(int *)((int)fVar28 + 0x20) * 4;" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x20) * 4" (identifier "iVar29") (= "=") (binary_expression "*(int *)((int)fVar28 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x20)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x20)" (( "(") (binary_expression "(int)fVar28 + 0x20" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) (; ";")) (if_statement "if (uVar26 == 0xb) {\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }\n                  else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" (if "if") (parenthesized_expression "(uVar26 == 0xb)" (( "(") (binary_expression "uVar26 == 0xb" (identifier "uVar26") (== "==") (number_literal "0xb")) () ")")) (compound_statement "{\n                    iVar41 = iVar32 + iVar19;\n                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;\n                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;\n                    iVar43 = *(int *)((int)fVar28 + 8) * 4;\n                    if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;\n                  }" ({ "{") (expression_statement "iVar41 = iVar32 + iVar19;" (assignment_expression "iVar41 = iVar32 + iVar19" (identifier "iVar41") (= "=") (binary_expression "iVar32 + iVar19" (identifier "iVar32") (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;" (assignment_expression "iVar35 = iVar19 + (int)fVar39 * -4 + iVar32" (identifier "iVar35") (= "=") (binary_expression "iVar19 + (int)fVar39 * -4 + iVar32" (binary_expression "iVar19 + (int)fVar39 * -4" (identifier "iVar19") (+ "+") (binary_expression "(int)fVar39 * -4" (cast_expression "(int)fVar39" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar39")) (* "*") (number_literal "-4"))) (+ "+") (identifier "iVar32"))) (; ";")) (expression_statement "iVar42 = *(int *)((int)fVar28 + 0x14) * 4;" (assignment_expression "iVar42 = *(int *)((int)fVar28 + 0x14) * 4" (identifier "iVar42") (= "=") (binary_expression "*(int *)((int)fVar28 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x14)" (( "(") (binary_expression "(int)fVar28 + 0x14" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar43 = *(int *)((int)fVar28 + 8) * 4;" (assignment_expression "iVar43 = *(int *)((int)fVar28 + 8) * 4" (identifier "iVar43") (= "=") (binary_expression "*(int *)((int)fVar28 + 8) * 4" (pointer_expression "*(int *)((int)fVar28 + 8)" (* "*") (cast_expression "(int *)((int)fVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 8)" (( "(") (binary_expression "(int)fVar28 + 8" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) (; ";")) (if_statement "if (*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;" (if "if") (parenthesized_expression "(*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64))" (( "(") (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=\n                        *(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar35 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar35 + iVar29)" (* "*") (cast_expression "(float *)(iVar35 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar35 + iVar29)" (( "(") (binary_expression "iVar35 + iVar29" (identifier "iVar35") (+ "+") (identifier "iVar29")) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f68")) () ")"))))) (+ "+") (binary_expression "*(float *)(iVar35 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar35 + iVar43)" (* "*") (cast_expression "(float *)(iVar35 + iVar43)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar35 + iVar43)" (( "(") (binary_expression "iVar35 + iVar43" (identifier "iVar35") (+ "+") (identifier "iVar43")) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f60")) () ")")))))) (+ "+") (binary_expression "*(float *)(iVar35 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar35 + iVar42)" (* "*") (cast_expression "(float *)(iVar35 + iVar42)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar35 + iVar42)" (( "(") (binary_expression "iVar35 + iVar42" (identifier "iVar35") (+ "+") (identifier "iVar42")) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f64")) () ")")))))) (!= "!=") (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                        *(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                        *(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "*(float *)(iVar41 + iVar29) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (pointer_expression "*(float *)(iVar41 + iVar29)" (* "*") (cast_expression "(float *)(iVar41 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar29)" (( "(") (binary_expression "iVar41 + iVar29" (identifier "iVar41") (+ "+") (identifier "iVar29")) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f68")) () ")"))))) (+ "+") (binary_expression "*(float *)(iVar41 + iVar43) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar41 + iVar43)" (* "*") (cast_expression "(float *)(iVar41 + iVar43)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar43)" (( "(") (binary_expression "iVar41 + iVar43" (identifier "iVar41") (+ "+") (identifier "iVar43")) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f60")) () ")")))))) (+ "+") (binary_expression "*(float *)(iVar41 + iVar42) *\n                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar41 + iVar42)" (* "*") (cast_expression "(float *)(iVar41 + iVar42)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar42)" (( "(") (binary_expression "iVar41 + iVar42" (identifier "iVar41") (+ "+") (identifier "iVar42")) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f64")) () ")"))))))) () ")")) (goto_statement "goto LAB_002b8680;" (goto "goto") (statement_identifier "LAB_002b8680") (; ";"))) (} "}")) (else_clause "else {\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" (else "else") (compound_statement "{\n                    iVar41 = iVar19 + iVar32;\n                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }\n                  }" ({ "{") (expression_statement "iVar41 = iVar19 + iVar32;" (assignment_expression "iVar41 = iVar19 + iVar32" (identifier "iVar41") (= "=") (binary_expression "iVar19 + iVar32" (identifier "iVar19") (+ "+") (identifier "iVar32"))) (; ";")) (if_statement "if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" (if "if") (parenthesized_expression "((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))))" (( "(") (binary_expression "(((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))" (parenthesized_expression "(((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" (( "(") (binary_expression "((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||\n                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" (( "(") (binary_expression "(*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||\n                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "(*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29))" (( "(") (binary_expression "*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar35 + iVar29)" (* "*") (cast_expression "(float *)(iVar19 + iVar35 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar35 + iVar29)" (( "(") (binary_expression "iVar19 + iVar35 + iVar29" (binary_expression "iVar19 + iVar35" (identifier "iVar19") (+ "+") (identifier "iVar35")) (+ "+") (identifier "iVar29")) () ")")))) (!= "!=") (pointer_expression "*(float *)(iVar41 + iVar29)" (* "*") (cast_expression "(float *)(iVar41 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar29)" (( "(") (binary_expression "iVar41 + iVar29" (identifier "iVar41") (+ "+") (identifier "iVar29")) () ")"))))) () ")")) (|| "||") (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (( "(") (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x14) * 4,\n                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x14) * 4" (identifier "iVar29") (= "=") (binary_expression "*(int *)((int)fVar28 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x14)" (( "(") (binary_expression "(int)fVar28 + 0x14" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) (, ",") (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" (* "*") (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar29 + iVar35)" (( "(") (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" (identifier "iVar19") (+ "+") (identifier "iVar29")) (+ "+") (identifier "iVar35")) () ")")))) (!= "!=") (pointer_expression "*(float *)(iVar41 + iVar29)" (* "*") (cast_expression "(float *)(iVar41 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar29)" (( "(") (binary_expression "iVar41 + iVar29" (identifier "iVar41") (+ "+") (identifier "iVar29")) () ")")))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (( "(") (comma_expression "iVar29 = *(int *)((int)fVar28 + 8) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 8) * 4" (identifier "iVar29") (= "=") (binary_expression "*(int *)((int)fVar28 + 8) * 4" (pointer_expression "*(int *)((int)fVar28 + 8)" (* "*") (cast_expression "(int *)((int)fVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 8)" (( "(") (binary_expression "(int)fVar28 + 8" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) (, ",") (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" (* "*") (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar29 + iVar35)" (( "(") (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" (identifier "iVar19") (+ "+") (identifier "iVar29")) (+ "+") (identifier "iVar35")) () ")")))) (!= "!=") (pointer_expression "*(float *)(iVar41 + iVar29)" (* "*") (cast_expression "(float *)(iVar41 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar29)" (( "(") (binary_expression "iVar41 + iVar29" (identifier "iVar41") (+ "+") (identifier "iVar29")) () ")")))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))" (( "(") (parenthesized_expression "((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)))" (( "(") (binary_expression "(pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&\n                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (parenthesized_expression "(pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0))" (( "(") (binary_expression "pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)" (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (!= "!=") (number_literal "0.0")) (&& "&&") (parenthesized_expression "(*(int *)((int)fVar28 + 0x34) != 0)" (( "(") (binary_expression "*(int *)((int)fVar28 + 0x34) != 0" (pointer_expression "*(int *)((int)fVar28 + 0x34)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x34)" (( "(") (binary_expression "(int)fVar28 + 0x34" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))" (( "(") (comma_expression "iVar29 = *(int *)((int)fVar28 + 0x38) * 4,\n                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (assignment_expression "iVar29 = *(int *)((int)fVar28 + 0x38) * 4" (identifier "iVar29") (= "=") (binary_expression "*(int *)((int)fVar28 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar28 + 0x38)" (* "*") (cast_expression "(int *)((int)fVar28 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar28 + 0x38)" (( "(") (binary_expression "(int)fVar28 + 0x38" (cast_expression "(int)fVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar28")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) (, ",") (binary_expression "*(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29)" (pointer_expression "*(float *)(iVar19 + iVar29 + iVar35)" (* "*") (cast_expression "(float *)(iVar19 + iVar29 + iVar35)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar29 + iVar35)" (( "(") (binary_expression "iVar19 + iVar29 + iVar35" (binary_expression "iVar19 + iVar29" (identifier "iVar19") (+ "+") (identifier "iVar29")) (+ "+") (identifier "iVar35")) () ")")))) (!= "!=") (pointer_expression "*(float *)(iVar41 + iVar29)" (* "*") (cast_expression "(float *)(iVar41 + iVar29)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + iVar29)" (( "(") (binary_expression "iVar41 + iVar29" (identifier "iVar41") (+ "+") (identifier "iVar29")) () ")")))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }\n                      goto LAB_002b8734;\n                    }" ({ "{") (labeled_statement "LAB_002b8680:\n                      if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" (statement_identifier "LAB_002b8680") (: ":") (if_statement "if (iVar44 < 3) {\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" (if "if") (parenthesized_expression "(iVar44 < 3)" (( "(") (binary_expression "iVar44 < 3" (identifier "iVar44") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                        iVar19 = iVar44 * iVar48 + iVar19;\n                        goto LAB_002b8690;\n                      }" ({ "{") (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" (identifier "iVar19") (= "=") (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" (identifier "iVar44") (* "*") (identifier "iVar48")) (+ "+") (identifier "iVar19"))) (; ";")) (goto_statement "goto LAB_002b8690;" (goto "goto") (statement_identifier "LAB_002b8690") (; ";")) (} "}")))) (goto_statement "goto LAB_002b8734;" (goto "goto") (statement_identifier "LAB_002b8734") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" (identifier "iVar44") (= "=") (binary_expression "iVar44 + 1" (identifier "iVar44") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar32 = iVar32 + iVar48;" (assignment_expression "iVar32 = iVar32 + iVar48" (identifier "iVar32") (= "=") (binary_expression "iVar32 + iVar48" (identifier "iVar32") (+ "+") (identifier "iVar48"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar44 != 0x80)" (( "(") (binary_expression "iVar44 != 0x80" (identifier "iVar44") (!= "!=") (number_literal "0x80")) () ")")) (; ";")) (expression_statement "fVar59 = (float)((int)fStack_1ec + 0x80);" (assignment_expression "fVar59 = (float)((int)fStack_1ec + 0x80)" (identifier "fVar59") (= "=") (cast_expression "(float)((int)fStack_1ec + 0x80)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fStack_1ec + 0x80)" (( "(") (binary_expression "(int)fStack_1ec + 0x80" (cast_expression "(int)fStack_1ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fStack_1ec")) (+ "+") (number_literal "0x80")) () ")")))) (; ";")) (labeled_statement "LAB_002b8734:\n              bVar1 = iVar44 < 3;" (statement_identifier "LAB_002b8734") (: ":") (expression_statement "bVar1 = iVar44 < 3;" (assignment_expression "bVar1 = iVar44 < 3" (identifier "bVar1") (= "=") (binary_expression "iVar44 < 3" (identifier "iVar44") (< "<") (number_literal "3"))) (; ";"))) (expression_statement "fStack_1ec = fVar59;" (assignment_expression "fStack_1ec = fVar59" (identifier "fStack_1ec") (= "=") (identifier "fVar59")) (; ";")) (if_statement "if (iVar49 == 0) {\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }\n              else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" (if "if") (parenthesized_expression "(iVar49 == 0)" (( "(") (binary_expression "iVar49 == 0" (identifier "iVar49") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);\n                if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }\n                fVar50 = pfVar27[6];\n                iVar51 = 0;\n                iVar19 = iVar44 * iVar48 + iVar19;\n              }" ({ "{") (labeled_statement "LAB_002b873c:\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);" (statement_identifier "LAB_002b873c") (: ":") (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,iVar44 - 1U & 0x7f | 0x80)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "iVar44 - 1U & 0x7f | 0x80" (binary_expression "iVar44 - 1U & 0x7f" (binary_expression "iVar44 - 1U" (identifier "iVar44") (- "-") (number_literal "1U")) (& "&") (number_literal "0x7f")) (| "|") (number_literal "0x80")) () ")"))) (; ";"))) (if_statement "if ((uVar26 & 3) == 1) {\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "((uVar26 & 3) == 1)" (( "(") (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" (( "(") (binary_expression "uVar26 & 3" (identifier "uVar26") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }\nLAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                }" ({ "{") (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {\nLAB_002b8944:\n                    uVar17 = 0;\n                  }\n                  else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" (if "if") (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x40) == 0)" (( "(") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x40) == 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x40)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x40)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x40" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x40")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002b8944:\n                    uVar17 = 0;\n                  }" ({ "{") (labeled_statement "LAB_002b8944:\n                    uVar17 = 0;" (statement_identifier "LAB_002b8944") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" (else "else") (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);\n                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }\n                  }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x44) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x44)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x44)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x44" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                      uVar17 = (int)fVar50 & 0xff;\n                    }\n                    else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" (if "if") (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (identifier "fVar50") (< "<") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x51e0")) () ")"))))) () ")")) (compound_statement "{\n                      uVar17 = (int)fVar50 & 0xff;\n                    }" ({ "{") (expression_statement "uVar17 = (int)fVar50 & 0xff;" (assignment_expression "uVar17 = (int)fVar50 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" (else "else") (compound_statement "{\n                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;\n                    }" ({ "{") (expression_statement "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff;" (assignment_expression "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff" (identifier "uVar17") (= "=") (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                               0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (identifier "fVar50") (- "-") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x51e0")) () ")"))))) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_002b8948:\n                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (statement_identifier "LAB_002b8948") (: ":") (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n                  if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }\n                  if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }\n                }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (identifier "fVar59") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x20) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x20)" (( "(") (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((uVar26 & 3) == 3) {\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" (if "if") (parenthesized_expression "((uVar26 & 3) == 3)" (( "(") (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" (( "(") (binary_expression "uVar26 & 3" (identifier "uVar26") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                    if (fVar50 <= 0.0) goto LAB_002b8944;\n                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }\n                    goto LAB_002b8948;\n                  }" ({ "{") (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (identifier "fVar50") (= "=") (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (identifier "fVar59") (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f68")) () ")"))))) (+ "+") (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f60")) () ")")))))) (+ "+") (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f64")) () ")"))))))) (; ";")) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8944;" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_002b8944;" (goto "goto") (statement_identifier "LAB_002b8944") (; ";"))) (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar62") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }\n                    else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                      if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }\n                    }" ({ "{") (expression_statement "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar65") (= "=") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (= "=") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (dVar62 < dVar65) {\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" (if "if") (parenthesized_expression "(dVar62 < dVar65)" (( "(") (binary_expression "dVar62 < dVar65" (identifier "dVar62") (< "<") (identifier "dVar65")) () ")")) (compound_statement "{\nLAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" ({ "{") (labeled_statement "LAB_002b8a58:\n                        uVar17 = (int)dVar62 & 0xff;" (statement_identifier "LAB_002b8a58") (: ":") (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar62")) (& "&") (number_literal "0xff"))) (; ";"))) (} "}")) (else_clause "else {\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" (else "else") (compound_statement "{\nLAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;\n                      }" ({ "{") (labeled_statement "LAB_002b89a4:\n                        uVar17 = (int)(dVar62 - dVar65) & 0xff;" (statement_identifier "LAB_002b89a4") (: ":") (expression_statement "uVar17 = (int)(dVar62 - dVar65) & 0xff;" (assignment_expression "uVar17 = (int)(dVar62 - dVar65) & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)(dVar62 - dVar65) & 0xff" (cast_expression "(int)(dVar62 - dVar65)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar62 - dVar65)" (( "(") (binary_expression "dVar62 - dVar65" (identifier "dVar62") (- "-") (identifier "dVar65")) () ")"))) (& "&") (number_literal "0xff"))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" (else "else") (compound_statement "{\nLAB_002b93cc:\n                      uVar17 = 0xff;\n                    }" ({ "{") (labeled_statement "LAB_002b93cc:\n                      uVar17 = 0xff;" (statement_identifier "LAB_002b93cc") (: ":") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";"))) (} "}")))) (goto_statement "goto LAB_002b8948;" (goto "goto") (statement_identifier "LAB_002b8948") (; ";")) (} "}"))) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }\n                  else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" (if "if") (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" (( "(") (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" (identifier "pfVar27") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "7.00649e-45")) () ")")) (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }\n                    if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                    fVar50 = pfVar27[0xb4];\n                    if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                    if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                  }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }\n                    else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                      uVar17 = 0;\n                      uVar34 = 0;\n                      uVar18 = 0;\n                    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" (else "else") (compound_statement "{\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }\n                    }" ({ "{") (expression_statement "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar62") (= "=") (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }\n                      else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar18 = (extraout_v1_05 & 0xff) << 5;\n                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;\n                        uVar34 = (uint)(char)uVar18;\n                      }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar18 = (extraout_v1_05 & 0xff) << 5;" (assignment_expression "uVar18 = (extraout_v1_05 & 0xff) << 5" (identifier "uVar18") (= "=") (binary_expression "(extraout_v1_05 & 0xff) << 5" (parenthesized_expression "(extraout_v1_05 & 0xff)" (( "(") (binary_expression "extraout_v1_05 & 0xff" (identifier "extraout_v1_05") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "5"))) (; ";")) (expression_statement "uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" (identifier "uVar17") (= "=") (binary_expression "((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_05 & 0xff) << 0x1b)" (( "(") (binary_expression "(extraout_v1_05 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_05 & 0xff)" (( "(") (binary_expression "extraout_v1_05 & 0xff" (identifier "extraout_v1_05") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x1b")) () ")")) (>> ">>") (number_literal "0x1e"))) (; ";")) (expression_statement "uVar34 = (uint)(char)uVar18;" (assignment_expression "uVar34 = (uint)(char)uVar18" (identifier "uVar34") (= "=") (cast_expression "(uint)(char)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar18")))) (; ";")) (} "}")) (else_clause "else {\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" (else "else") (compound_statement "{\n                        uVar17 = 3;\n                        uVar34 = 0xffffffe0;\n                        uVar18 = 0x1fe0;\n                      }" ({ "{") (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" (identifier "uVar17") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar34 = 0xffffffe0;" (assignment_expression "uVar34 = 0xffffffe0" (identifier "uVar34") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "uVar18 = 0x1fe0;" (assignment_expression "uVar18 = 0x1fe0" (identifier "uVar18") (= "=") (number_literal "0x1fe0")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (NAN(fVar59)) {\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }\n                    else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" (if "if") (parenthesized_expression "(NAN(fVar59))" (( "(") (call_expression "NAN(fVar59)" (identifier "NAN") (argument_list "(fVar59)" (( "(") (identifier "fVar59") () ")"))) () ")")) (compound_statement "{\nLAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;\n                    }" ({ "{") (labeled_statement "LAB_002b94d4:\n                      uVar34 = uVar34 & 0xff;" (statement_identifier "LAB_002b94d4") (: ":") (expression_statement "uVar34 = uVar34 & 0xff;" (assignment_expression "uVar34 = uVar34 & 0xff" (identifier "uVar34") (= "=") (binary_expression "uVar34 & 0xff" (identifier "uVar34") (& "&") (number_literal "0xff"))) (; ";"))) (} "}")) (else_clause "else if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" (else "else") (if_statement "if (0.0 < fVar59) {\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }\n                    else {\n                      uVar34 = uVar18 & 0xff;\n                    }" (if "if") (parenthesized_expression "(0.0 < fVar59)" (( "(") (binary_expression "0.0 < fVar59" (number_literal "0.0") (< "<") (identifier "fVar59")) () ")")) (compound_statement "{\n                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }\n                      uVar34 = 0xff;\n                    }" ({ "{") (expression_statement "dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar62") (= "=") (binary_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar59")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar34 = uVar34 | extraout_v1_06;\n                        goto LAB_002b94d4;\n                      }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar34 = uVar34 | extraout_v1_06;" (assignment_expression "uVar34 = uVar34 | extraout_v1_06" (identifier "uVar34") (= "=") (binary_expression "uVar34 | extraout_v1_06" (identifier "uVar34") (| "|") (identifier "extraout_v1_06"))) (; ";")) (goto_statement "goto LAB_002b94d4;" (goto "goto") (statement_identifier "LAB_002b94d4") (; ";")) (} "}"))) (expression_statement "uVar34 = 0xff;" (assignment_expression "uVar34 = 0xff" (identifier "uVar34") (= "=") (number_literal "0xff")) (; ";")) (} "}")) (else_clause "else {\n                      uVar34 = uVar18 & 0xff;\n                    }" (else "else") (compound_statement "{\n                      uVar34 = uVar18 & 0xff;\n                    }" ({ "{") (expression_statement "uVar34 = uVar18 & 0xff;" (assignment_expression "uVar34 = uVar18 & 0xff" (identifier "uVar34") (= "=") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff"))) (; ";")) (} "}")))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar34)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar34") () ")"))) (; ";")) (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {\n                      uVar17 = uVar17 | 0xffffff80;\n                    }" (if "if") (parenthesized_expression "((pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))))" (( "(") (binary_expression "(pfVar27[0xaf] != 0.0) &&\n                       ((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))" (parenthesized_expression "(pfVar27[0xaf] != 0.0)" (( "(") (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (!= "!=") (number_literal "0.0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))" (( "(") (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x34) == 0 ||\n                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x34)" (( "(") (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (( "(") (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3708")) () ")")))) (< "<") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x38) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x38)" (( "(") (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                      uVar17 = uVar17 | 0xffffff80;\n                    }" ({ "{") (expression_statement "uVar17 = uVar17 | 0xffffff80;" (assignment_expression "uVar17 = uVar17 | 0xffffff80" (identifier "uVar17") (= "=") (binary_expression "uVar17 | 0xffffff80" (identifier "uVar17") (| "|") (number_literal "0xffffff80"))) (; ";")) (} "}"))) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (0.0 < fVar50) {\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }" (if "if") (parenthesized_expression "(0.0 < fVar50)" (( "(") (binary_expression "0.0 < fVar50" (number_literal "0.0") (< "<") (identifier "fVar50")) () ")")) (compound_statement "{\n                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }\n                    }" ({ "{") (expression_statement "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar62") (= "=") (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))\n                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }\n                      else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));\n                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));\n                      }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar62 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));" (assignment_expression "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" (identifier "uVar17") (= "=") (call_expression "(uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (argument_list "((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2))" (( "(") (binary_expression "(byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2)" (cast_expression "(byte)uVar17" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar17")) (| "|") (call_expression "(byte)((extraout_v1_07 & 0xff) << 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((extraout_v1_07 & 0xff) << 2)" (( "(") (binary_expression "(extraout_v1_07 & 0xff) << 2" (parenthesized_expression "(extraout_v1_07 & 0xff)" (( "(") (binary_expression "extraout_v1_07 & 0xff" (identifier "extraout_v1_07") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "2")) () ")")))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" (else "else") (compound_statement "{\n                        uVar17 = uVar17 | 0xfffffffc;\n                      }" ({ "{") (expression_statement "uVar17 = uVar17 | 0xfffffffc;" (assignment_expression "uVar17 = uVar17 | 0xfffffffc" (identifier "uVar17") (= "=") (binary_expression "uVar17 | 0xfffffffc" (identifier "uVar17") (| "|") (number_literal "0xfffffffc"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17 & 0xff)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "uVar17 & 0xff" (identifier "uVar17") (& "&") (number_literal "0xff")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" (else "else") (compound_statement "{\n                    if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                    if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                    if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }\n                  }" ({ "{") (if_statement "if (fVar59 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" (if "if") (parenthesized_expression "(fVar59 <= 0.0)" (( "(") (binary_expression "fVar59 <= 0.0" (identifier "fVar59") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                      uVar17 = 0;\n                    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" (else "else") (compound_statement "{\n                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" ({ "{") (expression_statement "dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar62") (= "=") (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar59")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" ({ "{") (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (= "=") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" (if "if") (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" (( "(") (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar62")) () ")")) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" ({ "{") (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (= "=") (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (- "-") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar62")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" (else "else") (compound_statement "{\n                        uVar17 = 0xff;\n                      }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                      uVar17 = 0;\n                    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" (else "else") (compound_statement "{\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" ({ "{") (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar62") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" ({ "{") (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (= "=") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" (if "if") (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" (( "(") (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar62")) () ")")) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" ({ "{") (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (= "=") (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (- "-") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar62")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" (else "else") (compound_statement "{\n                        uVar17 = 0xff;\n                      }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 8)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                      uVar17 = 0;\n                    }\n                    else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                      uVar17 = 0;\n                    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" (else "else") (compound_statement "{\n                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }\n                    }" ({ "{") (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar62") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }\n                      else {\n                        uVar17 = 0xff;\n                      }" (if "if") (parenthesized_expression "(dVar62 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar62 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar62") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }\n                        uVar17 = (int)dVar62 & 0xff;\n                      }" ({ "{") (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (= "=") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" (if "if") (parenthesized_expression "(*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62)" (( "(") (binary_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62" (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar62")) () ")")) (compound_statement "{\n                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                        }" ({ "{") (expression_statement "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (= "=") (binary_expression "dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (- "-") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)dVar62 & 0xff;" (assignment_expression "uVar17 = (int)dVar62 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar62 & 0xff" (cast_expression "(int)dVar62" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar62")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                        uVar17 = 0xff;\n                      }" (else "else") (compound_statement "{\n                        uVar17 = 0xff;\n                      }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" (if "if") (parenthesized_expression "(pfVar27[0xaf] != 0.0)" (( "(") (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n                      uVar17 = 0xff;\n                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }\n                      goto LAB_002b8948;\n                    }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" (if "if") (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" (( "(") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                        if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }\n                        goto LAB_002b8944;\n                      }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (0.0 < fVar50) {\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" (if "if") (parenthesized_expression "(0.0 < fVar50)" (( "(") (binary_expression "0.0 < fVar50" (number_literal "0.0") (< "<") (identifier "fVar50")) () ")")) (compound_statement "{\n                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                          if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }\n                          goto LAB_002b93cc;\n                        }" ({ "{") (expression_statement "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar62") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar62 < dVar60) {\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" (if "if") (parenthesized_expression "(dVar62 < dVar60)" (( "(") (binary_expression "dVar62 < dVar60" (identifier "dVar62") (< "<") (identifier "dVar60")) () ")")) (compound_statement "{\n                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);\n                            if (dVar65 <= dVar62) goto LAB_002b89a4;\n                            goto LAB_002b8a58;\n                          }" ({ "{") (expression_statement "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar65") (= "=") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (expression_statement "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (= "=") (binary_expression "dVar62 + *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (dVar65 <= dVar62) goto LAB_002b89a4;" (if "if") (parenthesized_expression "(dVar65 <= dVar62)" (( "(") (binary_expression "dVar65 <= dVar62" (identifier "dVar65") (<= "<=") (identifier "dVar62")) () ")")) (goto_statement "goto LAB_002b89a4;" (goto "goto") (statement_identifier "LAB_002b89a4") (; ";"))) (goto_statement "goto LAB_002b8a58;" (goto "goto") (statement_identifier "LAB_002b8a58") (; ";")) (} "}"))) (goto_statement "goto LAB_002b93cc;" (goto "goto") (statement_identifier "LAB_002b93cc") (; ";")) (} "}"))) (goto_statement "goto LAB_002b8944;" (goto "goto") (statement_identifier "LAB_002b8944") (; ";")) (} "}"))) (goto_statement "goto LAB_002b8948;" (goto "goto") (statement_identifier "LAB_002b8948") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" (identifier "iVar51") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = iVar44 * iVar48 + iVar19;" (assignment_expression "iVar19 = iVar44 * iVar48 + iVar19" (identifier "iVar19") (= "=") (binary_expression "iVar44 * iVar48 + iVar19" (binary_expression "iVar44 * iVar48" (identifier "iVar44") (* "*") (identifier "iVar48")) (+ "+") (identifier "iVar19"))) (; ";")) (} "}")) (else_clause "else {\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" (else "else") (compound_statement "{\nLAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);\n                uVar17 = iVar49 - 1;\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n                iVar49 = iVar19 - iVar49 * iVar48;\n                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);\n                dVar65 = *(double *)(iVar45 + -0x5ae8);\n                do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);\n                iVar51 = 0;\n                if (!bVar1) goto LAB_002b873c;\n                fVar50 = pfVar27[6];\n              }" ({ "{") (labeled_statement "LAB_002b8a88:\n                iVar51 = *(int *)(puVar52 + 0xf0dcc);" (statement_identifier "LAB_002b8a88") (: ":") (expression_statement "iVar51 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar51 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar51") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";"))) (expression_statement "uVar17 = iVar49 - 1;" (assignment_expression "uVar17 = iVar49 - 1" (identifier "uVar17") (= "=") (binary_expression "iVar49 - 1" (identifier "iVar49") (- "-") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17 & 0xff)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "uVar17 & 0xff" (identifier "uVar17") (& "&") (number_literal "0xff")) () ")"))) (; ";")) (expression_statement "iVar49 = iVar19 - iVar49 * iVar48;" (assignment_expression "iVar49 = iVar19 - iVar49 * iVar48" (identifier "iVar49") (= "=") (binary_expression "iVar19 - iVar49 * iVar48" (identifier "iVar19") (- "-") (binary_expression "iVar49 * iVar48" (identifier "iVar49") (* "*") (identifier "iVar48")))) (; ";")) (expression_statement "dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);" (assignment_expression "dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (identifier "dVar62") (= "=") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1410)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1410" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (expression_statement "dVar65 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar65 = *(double *)(iVar45 + -0x5ae8)" (identifier "dVar65") (= "=") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) (; ";")) (do_statement "do {\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                } while (uVar17 != 0xffffffff);" (do "do") (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }\n                  uVar17 = uVar17 - 1;\n                  iVar49 = iVar49 + iVar48;\n                }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((uVar26 & 3) == 1) {\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }\n                  else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "((uVar26 & 3) == 1)" (( "(") (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" (( "(") (binary_expression "uVar26 & 3" (identifier "uVar26") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }\nLAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                  }" ({ "{") (if_statement "if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }\n                    else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" (if "if") (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) == 0)" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x40) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x40)" (( "(") (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x40")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002b8cac:\n                      uVar18 = 0;\n                    }" ({ "{") (labeled_statement "LAB_002b8cac:\n                      uVar18 = 0;" (statement_identifier "LAB_002b8cac") (: ":") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" (else "else") (compound_statement "{\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);\n                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }\n                    }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x44) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x44) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x44)" (( "(") (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                        uVar18 = (int)fVar50 & 0xff;\n                      }\n                      else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" (if "if") (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (identifier "fVar50") (< "<") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x51e0")) () ")"))))) () ")")) (compound_statement "{\n                        uVar18 = (int)fVar50 & 0xff;\n                      }" ({ "{") (expression_statement "uVar18 = (int)fVar50 & 0xff;" (assignment_expression "uVar18 = (int)fVar50 & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" (else "else") (compound_statement "{\n                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;\n                      }" ({ "{") (expression_statement "uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff;" (assignment_expression "uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &\n                                 0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (identifier "fVar50") (- "-") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x51e0")) () ")"))))) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_002b8cb0:\n                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (statement_identifier "LAB_002b8cb0") (: ":") (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar18)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar18") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" (else "else") (compound_statement "{\n                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);\n                    if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }\n                    if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" (identifier "fVar59") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x20) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x20) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x20)" (( "(") (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((uVar26 & 3) == 3) {\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" (if "if") (parenthesized_expression "((uVar26 & 3) == 3)" (( "(") (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" (( "(") (binary_expression "uVar26 & 3" (identifier "uVar26") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                      if (fVar50 <= 0.0) goto LAB_002b8cac;\n                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }\n                      goto LAB_002b8cb0;\n                    }" ({ "{") (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (identifier "fVar50") (= "=") (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (identifier "fVar59") (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f68")) () ")"))))) (+ "+") (binary_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f60")) () ")")))))) (+ "+") (binary_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *\n                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f64")) () ")"))))))) (; ";")) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8cac;" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_002b8cac;" (goto "goto") (statement_identifier "LAB_002b8cac") (; ";"))) (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar66") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }\n                      else {\n                        uVar18 = 0xff;\n                      }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (= "=") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }\n                        else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" (if "if") (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" (( "(") (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar66")) () ")")) (compound_statement "{\n                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;\n                        }" ({ "{") (expression_statement "uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;" (assignment_expression "uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff" (cast_expression "(int)(dVar66 - *(double *)(iVar51 + 0x1410))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar66 - *(double *)(iVar51 + 0x1410))" (( "(") (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (- "-") (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")"))))) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" (else "else") (compound_statement "{\nLAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" ({ "{") (labeled_statement "LAB_002b9048:\n                          uVar18 = (int)dVar66 & 0xff;" (statement_identifier "LAB_002b9048") (: ":") (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar66")) (& "&") (number_literal "0xff"))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n                        uVar18 = 0xff;\n                      }" (else "else") (compound_statement "{\n                        uVar18 = 0xff;\n                      }" ({ "{") (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" (identifier "uVar18") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (goto_statement "goto LAB_002b8cb0;" (goto "goto") (statement_identifier "LAB_002b8cb0") (; ";")) (} "}"))) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }\n                    else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" (if "if") (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" (( "(") (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" (identifier "pfVar27") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "7.00649e-45")) () ")")) (compound_statement "{\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }\n                      if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);\n                      if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);\n                      if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);\n                    }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }\n                      else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                        uVar18 = 0;\n                        uVar30 = 0;\n                        uVar34 = 0;\n                      }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" (identifier "uVar30") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" (else "else") (compound_statement "{\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar66") (= "=") (binary_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }\n                        else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar34 = (extraout_v1_02 & 0xff) << 5;\n                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;\n                          uVar30 = (uint)(char)uVar34;\n                        }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar34 = (extraout_v1_02 & 0xff) << 5;" (assignment_expression "uVar34 = (extraout_v1_02 & 0xff) << 5" (identifier "uVar34") (= "=") (binary_expression "(extraout_v1_02 & 0xff) << 5" (parenthesized_expression "(extraout_v1_02 & 0xff)" (( "(") (binary_expression "extraout_v1_02 & 0xff" (identifier "extraout_v1_02") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "5"))) (; ";")) (expression_statement "uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" (identifier "uVar18") (= "=") (binary_expression "((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1_02 & 0xff) << 0x1b)" (( "(") (binary_expression "(extraout_v1_02 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1_02 & 0xff)" (( "(") (binary_expression "extraout_v1_02 & 0xff" (identifier "extraout_v1_02") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x1b")) () ")")) (>> ">>") (number_literal "0x1e"))) (; ";")) (expression_statement "uVar30 = (uint)(char)uVar34;" (assignment_expression "uVar30 = (uint)(char)uVar34" (identifier "uVar30") (= "=") (cast_expression "(uint)(char)uVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar34" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar34")))) (; ";")) (} "}")) (else_clause "else {\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" (else "else") (compound_statement "{\n                          uVar18 = 3;\n                          uVar30 = 0xffffffe0;\n                          uVar34 = 0x1fe0;\n                        }" ({ "{") (expression_statement "uVar18 = 3;" (assignment_expression "uVar18 = 3" (identifier "uVar18") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar30 = 0xffffffe0;" (assignment_expression "uVar30 = 0xffffffe0" (identifier "uVar30") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "uVar34 = 0x1fe0;" (assignment_expression "uVar34 = 0x1fe0" (identifier "uVar34") (= "=") (number_literal "0x1fe0")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (NAN(fVar59)) {\n                        uVar30 = uVar30 & 0xff;\n                      }\n                      else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" (if "if") (parenthesized_expression "(NAN(fVar59))" (( "(") (call_expression "NAN(fVar59)" (identifier "NAN") (argument_list "(fVar59)" (( "(") (identifier "fVar59") () ")"))) () ")")) (compound_statement "{\n                        uVar30 = uVar30 & 0xff;\n                      }" ({ "{") (expression_statement "uVar30 = uVar30 & 0xff;" (assignment_expression "uVar30 = uVar30 & 0xff" (identifier "uVar30") (= "=") (binary_expression "uVar30 & 0xff" (identifier "uVar30") (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" (else "else") (if_statement "if (0.0 < fVar59) {\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }\n                      else {\n                        uVar30 = uVar34 & 0xff;\n                      }" (if "if") (parenthesized_expression "(0.0 < fVar59)" (( "(") (binary_expression "0.0 < fVar59" (number_literal "0.0") (< "<") (identifier "fVar59")) () ")")) (compound_statement "{\n                        dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar66") (= "=") (binary_expression "((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar59 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar59")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }\n                        else {\n                          uVar30 = 0xff;\n                        }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;\n                        }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar30 = (uVar30 | extraout_v1_03) & 0xff;" (assignment_expression "uVar30 = (uVar30 | extraout_v1_03) & 0xff" (identifier "uVar30") (= "=") (binary_expression "(uVar30 | extraout_v1_03) & 0xff" (parenthesized_expression "(uVar30 | extraout_v1_03)" (( "(") (binary_expression "uVar30 | extraout_v1_03" (identifier "uVar30") (| "|") (identifier "extraout_v1_03")) () ")")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                          uVar30 = 0xff;\n                        }" (else "else") (compound_statement "{\n                          uVar30 = 0xff;\n                        }" ({ "{") (expression_statement "uVar30 = 0xff;" (assignment_expression "uVar30 = 0xff" (identifier "uVar30") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                        uVar30 = uVar34 & 0xff;\n                      }" (else "else") (compound_statement "{\n                        uVar30 = uVar34 & 0xff;\n                      }" ({ "{") (expression_statement "uVar30 = uVar34 & 0xff;" (assignment_expression "uVar30 = uVar34 & 0xff" (identifier "uVar30") (= "=") (binary_expression "uVar34 & 0xff" (identifier "uVar34") (& "&") (number_literal "0xff"))) (; ";")) (} "}")))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar30)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar30") () ")"))) (; ";")) (if_statement "if (pfVar27[0xaf] == 0.0) {\n                        fVar50 = pfVar27[0xb4];\n                      }\n                      else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" (if "if") (parenthesized_expression "(pfVar27[0xaf] == 0.0)" (( "(") (binary_expression "pfVar27[0xaf] == 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n                        fVar50 = pfVar27[0xb4];\n                      }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" (else "else") (compound_statement "{\n                        fVar50 = pfVar27[0xb4];\n                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }\n                      }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                          uVar18 = uVar18 | 0xffffff80;\n                        }" (if "if") (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)))" (( "(") (binary_expression "(*(int *)((int)fVar50 + 0x34) == 0) ||\n                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))" (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0)" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x34)" (( "(") (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))" (( "(") (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3708")) () ")")))) (< "<") (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 0x38) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x38)" (( "(") (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) () ")"))) () ")")) (compound_statement "{\n                          uVar18 = uVar18 | 0xffffff80;\n                        }" ({ "{") (expression_statement "uVar18 = uVar18 | 0xffffff80;" (assignment_expression "uVar18 = uVar18 | 0xffffff80" (identifier "uVar18") (= "=") (binary_expression "uVar18 | 0xffffff80" (identifier "uVar18") (| "|") (number_literal "0xffffff80"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (0.0 < fVar50) {\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }" (if "if") (parenthesized_expression "(0.0 < fVar50)" (( "(") (binary_expression "0.0 < fVar50" (number_literal "0.0") (< "<") (identifier "fVar50")) () ")")) (compound_statement "{\n                        dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar66 = ((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar66") (= "=") (binary_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar50 *\n                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }\n                        else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));\n                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;\n                        }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar66 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))\n                          ;" (assignment_expression "uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" (identifier "uVar18") (= "=") (call_expression "(uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (argument_list "((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))" (( "(") (binary_expression "(byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2)" (cast_expression "(byte)uVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar18")) (| "|") (call_expression "(byte)((extraout_v1_04 & 0xff) << 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((extraout_v1_04 & 0xff) << 2)" (( "(") (binary_expression "(extraout_v1_04 & 0xff) << 2" (parenthesized_expression "(extraout_v1_04 & 0xff)" (( "(") (binary_expression "extraout_v1_04 & 0xff" (identifier "extraout_v1_04") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "2")) () ")")))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" (else "else") (compound_statement "{\n                          uVar18 = uVar18 | 0xfffffffc;\n                        }" ({ "{") (expression_statement "uVar18 = uVar18 | 0xfffffffc;" (assignment_expression "uVar18 = uVar18 | 0xfffffffc" (identifier "uVar18") (= "=") (binary_expression "uVar18 | 0xfffffffc" (identifier "uVar18") (| "|") (number_literal "0xfffffffc"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar18 & 0xff)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" (else "else") (compound_statement "{\n                      if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                      if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }\n                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);\n                      if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }\n                    }" ({ "{") (if_statement "if (fVar59 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" (if "if") (parenthesized_expression "(fVar59 <= 0.0)" (( "(") (binary_expression "fVar59 <= 0.0" (identifier "fVar59") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                        uVar18 = 0;\n                      }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" (else "else") (compound_statement "{\n                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar66") (= "=") (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar59")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" ({ "{") (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (= "=") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" (if "if") (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" (( "(") (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar66")) () ")")) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" ({ "{") (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (= "=") (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (- "-") (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar66")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" (else "else") (compound_statement "{\n                          uVar18 = 0xff;\n                        }" ({ "{") (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" (identifier "uVar18") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar18)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                        uVar18 = 0;\n                      }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" (else "else") (compound_statement "{\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar66") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" ({ "{") (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (= "=") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" (if "if") (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" (( "(") (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar66")) () ")")) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" ({ "{") (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (= "=") (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (- "-") (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar66")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" (else "else") (compound_statement "{\n                          uVar18 = 0xff;\n                        }" ({ "{") (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" (identifier "uVar18") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar18)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar18") () ")"))) (; ";")) (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 8)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                        uVar18 = 0;\n                      }\n                      else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                        uVar18 = 0;\n                      }" ({ "{") (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" (else "else") (compound_statement "{\n                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }\n                      }" ({ "{") (expression_statement "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar66") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }\n                        else {\n                          uVar18 = 0xff;\n                        }" (if "if") (parenthesized_expression "(dVar66 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar66 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar66") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);\n                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }\n                          uVar18 = (int)dVar66 & 0xff;\n                        }" ({ "{") (expression_statement "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar66 = dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (= "=") (binary_expression "dVar66 + *(double *)(iVar23 + 0x1400)" (identifier "dVar66") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar51 + 0x1410) <= dVar66) {\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" (if "if") (parenthesized_expression "(*(double *)(iVar51 + 0x1410) <= dVar66)" (( "(") (binary_expression "*(double *)(iVar51 + 0x1410) <= dVar66" (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar66")) () ")")) (compound_statement "{\n                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);\n                          }" ({ "{") (expression_statement "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);" (assignment_expression "dVar66 = dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (= "=") (binary_expression "dVar66 - *(double *)(iVar51 + 0x1410)" (identifier "dVar66") (- "-") (pointer_expression "*(double *)(iVar51 + 0x1410)" (* "*") (cast_expression "(double *)(iVar51 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar51 + 0x1410)" (( "(") (binary_expression "iVar51 + 0x1410" (identifier "iVar51") (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar18 = (int)dVar66 & 0xff;" (assignment_expression "uVar18 = (int)dVar66 & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)dVar66 & 0xff" (cast_expression "(int)dVar66" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar66")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                          uVar18 = 0xff;\n                        }" (else "else") (compound_statement "{\n                          uVar18 = 0xff;\n                        }" ({ "{") (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" (identifier "uVar18") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar18)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar18") () ")"))) (; ";")) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" (if "if") (parenthesized_expression "(pfVar27[0xaf] != 0.0)" (( "(") (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n                        uVar18 = 0xff;\n                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }\n                        goto LAB_002b8cb0;\n                      }" ({ "{") (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" (identifier "uVar18") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }" (if "if") (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" (( "(") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                          if (fVar50 <= 0.0) goto LAB_002b8cac;\n                          dVar66 = (double)fVar50 / dVar69;\n                          uVar18 = 0xff;\n                          if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }\n                        }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (( "(") (binary_expression "iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" (identifier "iVar49") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8cac;" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_002b8cac;" (goto "goto") (statement_identifier "LAB_002b8cac") (; ";"))) (expression_statement "dVar66 = (double)fVar50 / dVar69;" (assignment_expression "dVar66 = (double)fVar50 / dVar69" (identifier "dVar66") (= "=") (binary_expression "(double)fVar50 / dVar69" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (identifier "dVar69"))) (; ";")) (expression_statement "uVar18 = 0xff;" (assignment_expression "uVar18 = 0xff" (identifier "uVar18") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar66 < dVar65) {\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }" (if "if") (parenthesized_expression "(dVar66 < dVar65)" (( "(") (binary_expression "dVar66 < dVar65" (identifier "dVar66") (< "<") (identifier "dVar65")) () ")")) (compound_statement "{\n                            dVar66 = dVar66 + dVar67;\n                            if (dVar66 < dVar62) goto LAB_002b9048;\n                            uVar18 = (int)(dVar66 - dVar62) & 0xff;\n                          }" ({ "{") (expression_statement "dVar66 = dVar66 + dVar67;" (assignment_expression "dVar66 = dVar66 + dVar67" (identifier "dVar66") (= "=") (binary_expression "dVar66 + dVar67" (identifier "dVar66") (+ "+") (identifier "dVar67"))) (; ";")) (if_statement "if (dVar66 < dVar62) goto LAB_002b9048;" (if "if") (parenthesized_expression "(dVar66 < dVar62)" (( "(") (binary_expression "dVar66 < dVar62" (identifier "dVar66") (< "<") (identifier "dVar62")) () ")")) (goto_statement "goto LAB_002b9048;" (goto "goto") (statement_identifier "LAB_002b9048") (; ";"))) (expression_statement "uVar18 = (int)(dVar66 - dVar62) & 0xff;" (assignment_expression "uVar18 = (int)(dVar66 - dVar62) & 0xff" (identifier "uVar18") (= "=") (binary_expression "(int)(dVar66 - dVar62) & 0xff" (cast_expression "(int)(dVar66 - dVar62)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar66 - dVar62)" (( "(") (binary_expression "dVar66 - dVar62" (identifier "dVar66") (- "-") (identifier "dVar62")) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_002b8cb0;" (goto "goto") (statement_identifier "LAB_002b8cb0") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "uVar17 = uVar17 - 1;" (assignment_expression "uVar17 = uVar17 - 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 - 1" (identifier "uVar17") (- "-") (number_literal "1"))) (; ";")) (expression_statement "iVar49 = iVar49 + iVar48;" (assignment_expression "iVar49 = iVar49 + iVar48" (identifier "iVar49") (= "=") (binary_expression "iVar49 + iVar48" (identifier "iVar49") (+ "+") (identifier "iVar48"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar17 != 0xffffffff)" (( "(") (binary_expression "uVar17 != 0xffffffff" (identifier "uVar17") (!= "!=") (number_literal "0xffffffff")) () ")")) (; ";")) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" (identifier "iVar51") (= "=") (number_literal "0")) (; ";")) (if_statement "if (!bVar1) goto LAB_002b873c;" (if "if") (parenthesized_expression "(!bVar1)" (( "(") (unary_expression "!bVar1" (! "!") (identifier "bVar1")) () ")")) (goto_statement "goto LAB_002b873c;" (goto "goto") (statement_identifier "LAB_002b873c") (; ";"))) (expression_statement "fVar50 = pfVar27[6];" (assignment_expression "fVar50 = pfVar27[6]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}")))) (labeled_statement "LAB_002b869c:\n              iVar49 = iVar51;" (statement_identifier "LAB_002b869c") (: ":") (expression_statement "iVar49 = iVar51;" (assignment_expression "iVar49 = iVar51" (identifier "iVar49") (= "=") (identifier "iVar51")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "((int)fStack_1ec < (int)fVar50)" (( "(") (binary_expression "(int)fStack_1ec < (int)fVar50" (cast_expression "(int)fStack_1ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fStack_1ec")) (< "<") (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50"))) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" (else "else") (if_statement "if (0 < (int)fVar50) {\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" (if "if") (parenthesized_expression "(0 < (int)fVar50)" (( "(") (binary_expression "0 < (int)fVar50" (number_literal "0") (< "<") (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50"))) () ")")) (compound_statement "{\n          iVar51 = 0;\n          iVar45 = *(int *)(puVar52 + 0xf0dd4);\n          iVar49 = *(int *)(puVar52 + 0xf0dcc);\n          dVar65 = *(double *)(iVar37 + -0x5af0);\n          dVar66 = *(double *)(iVar45 + -0x5ae8);\n          dVar62 = *(double *)(iVar23 + 0x1400);\n          dVar60 = *(double *)(iVar49 + 0x1410);\n          do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);\n        }" ({ "{") (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" (identifier "iVar51") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar45 = *(int *)(puVar52 + 0xf0dd4);" (assignment_expression "iVar45 = *(int *)(puVar52 + 0xf0dd4)" (identifier "iVar45") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")"))))) (; ";")) (expression_statement "iVar49 = *(int *)(puVar52 + 0xf0dcc);" (assignment_expression "iVar49 = *(int *)(puVar52 + 0xf0dcc)" (identifier "iVar49") (= "=") (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")"))))) (; ";")) (expression_statement "dVar65 = *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar65 = *(double *)(iVar37 + -0x5af0)" (identifier "dVar65") (= "=") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "dVar66 = *(double *)(iVar45 + -0x5ae8);" (assignment_expression "dVar66 = *(double *)(iVar45 + -0x5ae8)" (identifier "dVar66") (= "=") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) (; ";")) (expression_statement "dVar62 = *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar62 = *(double *)(iVar23 + 0x1400)" (identifier "dVar62") (= "=") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) (; ";")) (expression_statement "dVar60 = *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar60 = *(double *)(iVar49 + 0x1410)" (identifier "dVar60") (= "=") (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")"))))) (; ";")) (do_statement "do {\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          } while (iVar51 < (int)pfVar27[6]);" (do "do") (compound_statement "{\n            fVar50 = pfVar27[0xb4];\n            if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }\n            iVar51 = iVar51 + 1;\n            iVar19 = iVar19 + iVar48;\n          }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((uVar26 & 3) == 1) {\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }\n            else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((uVar26 & 3) == 1)" (( "(") (binary_expression "(uVar26 & 3) == 1" (parenthesized_expression "(uVar26 & 3)" (( "(") (binary_expression "uVar26 & 3" (identifier "uVar26") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }\nLAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n            }" ({ "{") (if_statement "if (*(int *)((int)fVar50 + 0x40) == 0) {\nLAB_002b8324:\n                uVar17 = 0;\n              }\n              else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" (if "if") (parenthesized_expression "(*(int *)((int)fVar50 + 0x40) == 0)" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x40) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x40)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x40)" (( "(") (binary_expression "(int)fVar50 + 0x40" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x40")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002b8324:\n                uVar17 = 0;\n              }" ({ "{") (labeled_statement "LAB_002b8324:\n                uVar17 = 0;" (statement_identifier "LAB_002b8324") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" (else "else") (compound_statement "{\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);\n                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }\n              }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x44) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x44) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x44) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x44)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x44)" (( "(") (binary_expression "(int)fVar50 + 0x44" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x44")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {\n                  uVar17 = (int)fVar50 & 0xff;\n                }\n                else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" (if "if") (parenthesized_expression "(fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (binary_expression "fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (identifier "fVar50") (< "<") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x51e0")) () ")"))))) () ")")) (compound_statement "{\n                  uVar17 = (int)fVar50 & 0xff;\n                }" ({ "{") (expression_statement "uVar17 = (int)fVar50 & 0xff;" (assignment_expression "uVar17 = (int)fVar50 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)fVar50 & 0xff" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" (else "else") (compound_statement "{\n                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;\n                }" ({ "{") (expression_statement "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;" (assignment_expression "uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff" (cast_expression "(int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0))" (( "(") (binary_expression "fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (identifier "fVar50") (- "-") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd0) + -0x51e0" (pointer_expression "*(int *)(puVar52 + 0xf0dd0)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd0)" (( "(") (binary_expression "puVar52 + 0xf0dd0" (identifier "puVar52") (+ "+") (number_literal "0xf0dd0")) () ")")))) (+ "+") (number_literal "-0x51e0")) () ")"))))) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_002b8328:\n              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (statement_identifier "LAB_002b8328") (: ":") (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);\n              if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }\n              if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }\n            }" ({ "{") (expression_statement "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);" (assignment_expression "fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (identifier "fVar59") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x20) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x20) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x20) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x20)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x20)" (( "(") (binary_expression "(int)fVar50 + 0x20" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x20")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if ((uVar26 & 3) == 3) {\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" (if "if") (parenthesized_expression "((uVar26 & 3) == 3)" (( "(") (binary_expression "(uVar26 & 3) == 3" (parenthesized_expression "(uVar26 & 3)" (( "(") (binary_expression "uVar26 & 3" (identifier "uVar26") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);\n                if (fVar50 <= 0.0) goto LAB_002b8324;\n                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }\n                goto LAB_002b8328;\n              }" ({ "{") (expression_statement "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);" (assignment_expression "fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (identifier "fVar50") (= "=") (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +\n                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (binary_expression "fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (identifier "fVar59") (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f68)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f68" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f68")) () ")"))))) (+ "+") (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f60" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f60")) () ")")))))) (+ "+") (binary_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *\n                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (* "*") (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd4) + 0x4f64" (pointer_expression "*(int *)(puVar52 + 0xf0dd4)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd4)" (( "(") (binary_expression "puVar52 + 0xf0dd4" (identifier "puVar52") (+ "+") (number_literal "0xf0dd4")) () ")")))) (+ "+") (number_literal "0x4f64")) () ")"))))))) (; ";")) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8324;" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_002b8324;" (goto "goto") (statement_identifier "LAB_002b8324") (; ";"))) (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar54") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }\n                else {\n                  uVar17 = 0xff;\n                }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                }" ({ "{") (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (= "=") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }\n                  else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" (if "if") (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" (( "(") (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar54")) () ")")) (compound_statement "{\n                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;\n                  }" ({ "{") (expression_statement "uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;" (assignment_expression "uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff" (cast_expression "(int)(dVar54 - *(double *)(iVar49 + 0x1410))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar54 - *(double *)(iVar49 + 0x1410))" (( "(") (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (- "-") (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")"))))) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" (else "else") (compound_statement "{\nLAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" ({ "{") (labeled_statement "LAB_002b8e7c:\n                    uVar17 = (int)dVar54 & 0xff;" (statement_identifier "LAB_002b8e7c") (: ":") (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar54")) (& "&") (number_literal "0xff"))) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n                  uVar17 = 0xff;\n                }" (else "else") (compound_statement "{\n                  uVar17 = 0xff;\n                }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (goto_statement "goto LAB_002b8328;" (goto "goto") (statement_identifier "LAB_002b8328") (; ";")) (} "}"))) (if_statement "if (pfVar27[8] == 7.00649e-45) {\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }\n              else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" (if "if") (parenthesized_expression "(pfVar27[8] == 7.00649e-45)" (( "(") (binary_expression "pfVar27[8] == 7.00649e-45" (subscript_expression "pfVar27[8]" (identifier "pfVar27") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "7.00649e-45")) () ")")) (compound_statement "{\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }\n                if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);\n                if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }\n                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);\n                if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);\n              }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x14) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x14) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x14) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x14)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x14)" (( "(") (binary_expression "(int)fVar50 + 0x14" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }\n                else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                  uVar17 = 0;\n                  uVar34 = 0;\n                  uVar18 = 0;\n                }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar34 = 0;" (assignment_expression "uVar34 = 0" (identifier "uVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" (else "else") (compound_statement "{\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }\n                }" ({ "{") (expression_statement "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar54") (= "=") (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }\n                  else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar18 = (extraout_v1 & 0xff) << 5;\n                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;\n                    uVar34 = (uint)(char)uVar18;\n                  }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar18 = (extraout_v1 & 0xff) << 5;" (assignment_expression "uVar18 = (extraout_v1 & 0xff) << 5" (identifier "uVar18") (= "=") (binary_expression "(extraout_v1 & 0xff) << 5" (parenthesized_expression "(extraout_v1 & 0xff)" (( "(") (binary_expression "extraout_v1 & 0xff" (identifier "extraout_v1") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "5"))) (; ";")) (expression_statement "uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;" (assignment_expression "uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e" (identifier "uVar17") (= "=") (binary_expression "((extraout_v1 & 0xff) << 0x1b) >> 0x1e" (parenthesized_expression "((extraout_v1 & 0xff) << 0x1b)" (( "(") (binary_expression "(extraout_v1 & 0xff) << 0x1b" (parenthesized_expression "(extraout_v1 & 0xff)" (( "(") (binary_expression "extraout_v1 & 0xff" (identifier "extraout_v1") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x1b")) () ")")) (>> ">>") (number_literal "0x1e"))) (; ";")) (expression_statement "uVar34 = (uint)(char)uVar18;" (assignment_expression "uVar34 = (uint)(char)uVar18" (identifier "uVar34") (= "=") (cast_expression "(uint)(char)uVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar18")))) (; ";")) (} "}")) (else_clause "else {\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" (else "else") (compound_statement "{\n                    uVar17 = 3;\n                    uVar34 = 0xffffffe0;\n                    uVar18 = 0x1fe0;\n                  }" ({ "{") (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" (identifier "uVar17") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar34 = 0xffffffe0;" (assignment_expression "uVar34 = 0xffffffe0" (identifier "uVar34") (= "=") (number_literal "0xffffffe0")) (; ";")) (expression_statement "uVar18 = 0x1fe0;" (assignment_expression "uVar18 = 0x1fe0" (identifier "uVar18") (= "=") (number_literal "0x1fe0")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (NAN(fVar59)) {\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }\n                else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" (if "if") (parenthesized_expression "(NAN(fVar59))" (( "(") (call_expression "NAN(fVar59)" (identifier "NAN") (argument_list "(fVar59)" (( "(") (identifier "fVar59") () ")"))) () ")")) (compound_statement "{\nLAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;\n                }" ({ "{") (labeled_statement "LAB_002b8f78:\n                  uVar34 = uVar34 & 0xff;" (statement_identifier "LAB_002b8f78") (: ":") (expression_statement "uVar34 = uVar34 & 0xff;" (assignment_expression "uVar34 = uVar34 & 0xff" (identifier "uVar34") (= "=") (binary_expression "uVar34 & 0xff" (identifier "uVar34") (& "&") (number_literal "0xff"))) (; ";"))) (} "}")) (else_clause "else if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" (else "else") (if_statement "if (0.0 < fVar59) {\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }\n                else {\n                  uVar34 = uVar18 & 0xff;\n                }" (if "if") (parenthesized_expression "(0.0 < fVar59)" (( "(") (binary_expression "0.0 < fVar59" (number_literal "0.0") (< "<") (identifier "fVar59")) () ")")) (compound_statement "{\n                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }\n                  uVar34 = 0xff;\n                }" ({ "{") (expression_statement "dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar54") (= "=") (binary_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar59" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar59")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar34 = uVar34 | extraout_v1_00;\n                    goto LAB_002b8f78;\n                  }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar34 = uVar34 | extraout_v1_00;" (assignment_expression "uVar34 = uVar34 | extraout_v1_00" (identifier "uVar34") (= "=") (binary_expression "uVar34 | extraout_v1_00" (identifier "uVar34") (| "|") (identifier "extraout_v1_00"))) (; ";")) (goto_statement "goto LAB_002b8f78;" (goto "goto") (statement_identifier "LAB_002b8f78") (; ";")) (} "}"))) (expression_statement "uVar34 = 0xff;" (assignment_expression "uVar34 = 0xff" (identifier "uVar34") (= "=") (number_literal "0xff")) (; ";")) (} "}")) (else_clause "else {\n                  uVar34 = uVar18 & 0xff;\n                }" (else "else") (compound_statement "{\n                  uVar34 = uVar18 & 0xff;\n                }" ({ "{") (expression_statement "uVar34 = uVar18 & 0xff;" (assignment_expression "uVar34 = uVar18 & 0xff" (identifier "uVar34") (= "=") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff"))) (; ";")) (} "}")))))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar34)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar34") () ")"))) (; ";")) (if_statement "if (pfVar27[0xaf] == 0.0) {\n                  fVar50 = pfVar27[0xb4];\n                }\n                else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" (if "if") (parenthesized_expression "(pfVar27[0xaf] == 0.0)" (( "(") (binary_expression "pfVar27[0xaf] == 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" (else "else") (compound_statement "{\n                  fVar50 = pfVar27[0xb4];\n                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }\n                }" ({ "{") (expression_statement "fVar50 = pfVar27[0xb4];" (assignment_expression "fVar50 = pfVar27[0xb4]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (if_statement "if ((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {\n                    uVar17 = uVar17 | 0xffffff80;\n                  }" (if "if") (parenthesized_expression "((*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)))" (( "(") (binary_expression "(*(int *)((int)fVar50 + 0x34) == 0) ||\n                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (parenthesized_expression "(*(int *)((int)fVar50 + 0x34) == 0)" (( "(") (binary_expression "*(int *)((int)fVar50 + 0x34) == 0" (pointer_expression "*(int *)((int)fVar50 + 0x34)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x34)" (( "(") (binary_expression "(int)fVar50 + 0x34" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))" (( "(") (binary_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <\n                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (pointer_expression "*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (* "*") (cast_expression "(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x3708)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3708" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3708")) () ")")))) (< "<") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 0x38) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 0x38) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 0x38) * 4" (pointer_expression "*(int *)((int)fVar50 + 0x38)" (* "*") (cast_expression "(int *)((int)fVar50 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 0x38)" (( "(") (binary_expression "(int)fVar50 + 0x38" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) () ")"))) () ")")) (compound_statement "{\n                    uVar17 = uVar17 | 0xffffff80;\n                  }" ({ "{") (expression_statement "uVar17 = uVar17 | 0xffffff80;" (assignment_expression "uVar17 = uVar17 | 0xffffff80" (identifier "uVar17") (= "=") (binary_expression "uVar17 | 0xffffff80" (identifier "uVar17") (| "|") (number_literal "0xffffff80"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)fVar50 + 8) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)fVar50 + 8) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)fVar50 + 8) * 4" (pointer_expression "*(int *)((int)fVar50 + 8)" (* "*") (cast_expression "(int *)((int)fVar50 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar50 + 8)" (( "(") (binary_expression "(int)fVar50 + 8" (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50")) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (0.0 < fVar50) {\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }" (if "if") (parenthesized_expression "(0.0 < fVar50)" (( "(") (binary_expression "0.0 < fVar50" (number_literal "0.0") (< "<") (identifier "fVar50")) () ")")) (compound_statement "{\n                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);\n                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }\n                }" ({ "{") (expression_statement "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);" (assignment_expression "dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (identifier "dVar54") (= "=") (binary_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /\n                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (parenthesized_expression "((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))" (( "(") (binary_expression "(double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (* "*") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x62d8" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x62d8")) () ")"))))) () ")")) (/ "/") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a58)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a58" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a58")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }\n                  else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60))" (( "(") (binary_expression "dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (* "*") (cast_expression "(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)" (( "(") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1a60" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1a60")) () ")"))))) () ")")) (compound_statement "{\n                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));\n                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));\n                  }" ({ "{") (expression_statement "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));" (call_expression "(**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400))" (parenthesized_expression "(**(code **)(puVar52 + 0xf0e40))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf0e40)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf0e40)" (* "*") (cast_expression "(code **)(puVar52 + 0xf0e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf0e40)" (( "(") (binary_expression "puVar52 + 0xf0e40" (identifier "puVar52") (+ "+") (number_literal "0xf0e40")) () ")"))))) () ")")) (argument_list "(dVar54 + *(double *)(iVar23 + 0x1400))" (( "(") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")"))))) () ")"))) (; ";")) (expression_statement "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));" (assignment_expression "uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" (identifier "uVar17") (= "=") (call_expression "(uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (argument_list "((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2))" (( "(") (binary_expression "(byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2)" (cast_expression "(byte)uVar17" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar17")) (| "|") (call_expression "(byte)((extraout_v1_01 & 0xff) << 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((extraout_v1_01 & 0xff) << 2)" (( "(") (binary_expression "(extraout_v1_01 & 0xff) << 2" (parenthesized_expression "(extraout_v1_01 & 0xff)" (( "(") (binary_expression "extraout_v1_01 & 0xff" (identifier "extraout_v1_01") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "2")) () ")")))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" (else "else") (compound_statement "{\n                    uVar17 = uVar17 | 0xfffffffc;\n                  }" ({ "{") (expression_statement "uVar17 = uVar17 | 0xfffffffc;" (assignment_expression "uVar17 = uVar17 | 0xfffffffc" (identifier "uVar17") (= "=") (binary_expression "uVar17 | 0xfffffffc" (identifier "uVar17") (| "|") (number_literal "0xfffffffc"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17 & 0xff)" (( "(") (identifier "pfVar27") (, ",") (binary_expression "uVar17 & 0xff" (identifier "uVar17") (& "&") (number_literal "0xff")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" (else "else") (compound_statement "{\n                if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);\n                if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }\n                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);\n                if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }\n              }" ({ "{") (if_statement "if (fVar59 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" (if "if") (parenthesized_expression "(fVar59 <= 0.0)" (( "(") (binary_expression "fVar59 <= 0.0" (identifier "fVar59") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                  uVar17 = 0;\n                }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" (else "else") (compound_statement "{\n                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" ({ "{") (expression_statement "dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar54") (= "=") (binary_expression "(double)fVar59 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar59" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar59")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" ({ "{") (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (= "=") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" (if "if") (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" (( "(") (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar54")) () ")")) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" ({ "{") (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (= "=") (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (- "-") (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar54")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" (else "else") (compound_statement "{\n                    uVar17 = 0xff;\n                  }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x14) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x14)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x14)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x14" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                  uVar17 = 0;\n                }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" (else "else") (compound_statement "{\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" ({ "{") (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar54") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" ({ "{") (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (= "=") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" (if "if") (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" (( "(") (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar54")) () ")")) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" ({ "{") (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (= "=") (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (- "-") (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar54")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" (else "else") (compound_statement "{\n                    uVar17 = 0xff;\n                  }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 8) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 8)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 8)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 8" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) {\n                  uVar17 = 0;\n                }\n                else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (compound_statement "{\n                  uVar17 = 0;\n                }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" (else "else") (compound_statement "{\n                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);\n                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }\n                }" ({ "{") (expression_statement "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);" (assignment_expression "dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0)" (identifier "dVar54") (= "=") (binary_expression "(double)fVar50 / *(double *)(iVar37 + -0x5af0)" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (pointer_expression "*(double *)(iVar37 + -0x5af0)" (* "*") (cast_expression "(double *)(iVar37 + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar37 + -0x5af0)" (( "(") (binary_expression "iVar37 + -0x5af0" (identifier "iVar37") (+ "+") (number_literal "-0x5af0")) () ")")))))) (; ";")) (if_statement "if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }\n                  else {\n                    uVar17 = 0xff;\n                  }" (if "if") (parenthesized_expression "(dVar54 < *(double *)(iVar45 + -0x5ae8))" (( "(") (binary_expression "dVar54 < *(double *)(iVar45 + -0x5ae8)" (identifier "dVar54") (< "<") (pointer_expression "*(double *)(iVar45 + -0x5ae8)" (* "*") (cast_expression "(double *)(iVar45 + -0x5ae8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar45 + -0x5ae8)" (( "(") (binary_expression "iVar45 + -0x5ae8" (identifier "iVar45") (+ "+") (number_literal "-0x5ae8")) () ")"))))) () ")")) (compound_statement "{\n                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);\n                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }\n                    uVar17 = (int)dVar54 & 0xff;\n                  }" ({ "{") (expression_statement "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);" (assignment_expression "dVar54 = dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (= "=") (binary_expression "dVar54 + *(double *)(iVar23 + 0x1400)" (identifier "dVar54") (+ "+") (pointer_expression "*(double *)(iVar23 + 0x1400)" (* "*") (cast_expression "(double *)(iVar23 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x1400)" (( "(") (binary_expression "iVar23 + 0x1400" (identifier "iVar23") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (*(double *)(iVar49 + 0x1410) <= dVar54) {\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" (if "if") (parenthesized_expression "(*(double *)(iVar49 + 0x1410) <= dVar54)" (( "(") (binary_expression "*(double *)(iVar49 + 0x1410) <= dVar54" (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))) (<= "<=") (identifier "dVar54")) () ")")) (compound_statement "{\n                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);\n                    }" ({ "{") (expression_statement "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);" (assignment_expression "dVar54 = dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (= "=") (binary_expression "dVar54 - *(double *)(iVar49 + 0x1410)" (identifier "dVar54") (- "-") (pointer_expression "*(double *)(iVar49 + 0x1410)" (* "*") (cast_expression "(double *)(iVar49 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar49 + 0x1410)" (( "(") (binary_expression "iVar49 + 0x1410" (identifier "iVar49") (+ "+") (number_literal "0x1410")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)dVar54 & 0xff;" (assignment_expression "uVar17 = (int)dVar54 & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)dVar54 & 0xff" (cast_expression "(int)dVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar54")) (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\n                    uVar17 = 0xff;\n                  }" (else "else") (compound_statement "{\n                    uVar17 = 0xff;\n                  }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);" (call_expression "(**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17)" (parenthesized_expression "(**(code **)(puVar52 + 0xf14c8))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf14c8)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf14c8)" (* "*") (cast_expression "(code **)(puVar52 + 0xf14c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf14c8)" (( "(") (binary_expression "puVar52 + 0xf14c8" (identifier "puVar52") (+ "+") (number_literal "0xf14c8")) () ")"))))) () ")")) (argument_list "(pfVar27,uVar17)" (( "(") (identifier "pfVar27") (, ",") (identifier "uVar17") () ")"))) (; ";")) (if_statement "if (pfVar27[0xaf] != 0.0) {\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" (if "if") (parenthesized_expression "(pfVar27[0xaf] != 0.0)" (( "(") (binary_expression "pfVar27[0xaf] != 0.0" (subscript_expression "pfVar27[0xaf]" (identifier "pfVar27") ([ "[") (number_literal "0xaf") (] "]")) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n                  uVar17 = 0xff;\n                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }\n                  goto LAB_002b8328;\n                }" ({ "{") (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }" (if "if") (parenthesized_expression "(*(int *)((int)pfVar27[0xb4] + 0x34) != 0)" (( "(") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x34) != 0" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x34)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x34)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x34" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);\n                    if (fVar50 <= 0.0) goto LAB_002b8324;\n                    dVar54 = (double)fVar50 / dVar65;\n                    uVar17 = 0xff;\n                    if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }\n                  }" ({ "{") (expression_statement "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);" (assignment_expression "fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (identifier "fVar50") (= "=") (pointer_expression "*(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4)" (( "(") (binary_expression "iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4" (identifier "iVar19") (+ "+") (binary_expression "*(int *)((int)pfVar27[0xb4] + 0x38) * 4" (pointer_expression "*(int *)((int)pfVar27[0xb4] + 0x38)" (* "*") (cast_expression "(int *)((int)pfVar27[0xb4] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar27[0xb4] + 0x38)" (( "(") (binary_expression "(int)pfVar27[0xb4] + 0x38" (cast_expression "(int)pfVar27[0xb4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[0xb4]" (identifier "pfVar27") ([ "[") (number_literal "0xb4") (] "]"))) (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (fVar50 <= 0.0) goto LAB_002b8324;" (if "if") (parenthesized_expression "(fVar50 <= 0.0)" (( "(") (binary_expression "fVar50 <= 0.0" (identifier "fVar50") (<= "<=") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_002b8324;" (goto "goto") (statement_identifier "LAB_002b8324") (; ";"))) (expression_statement "dVar54 = (double)fVar50 / dVar65;" (assignment_expression "dVar54 = (double)fVar50 / dVar65" (identifier "dVar54") (= "=") (binary_expression "(double)fVar50 / dVar65" (cast_expression "(double)fVar50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar50")) (/ "/") (identifier "dVar65"))) (; ";")) (expression_statement "uVar17 = 0xff;" (assignment_expression "uVar17 = 0xff" (identifier "uVar17") (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (dVar54 < dVar66) {\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }" (if "if") (parenthesized_expression "(dVar54 < dVar66)" (( "(") (binary_expression "dVar54 < dVar66" (identifier "dVar54") (< "<") (identifier "dVar66")) () ")")) (compound_statement "{\n                      dVar54 = dVar54 + dVar62;\n                      if (dVar54 < dVar60) goto LAB_002b8e7c;\n                      uVar17 = (int)(dVar54 - dVar60) & 0xff;\n                    }" ({ "{") (expression_statement "dVar54 = dVar54 + dVar62;" (assignment_expression "dVar54 = dVar54 + dVar62" (identifier "dVar54") (= "=") (binary_expression "dVar54 + dVar62" (identifier "dVar54") (+ "+") (identifier "dVar62"))) (; ";")) (if_statement "if (dVar54 < dVar60) goto LAB_002b8e7c;" (if "if") (parenthesized_expression "(dVar54 < dVar60)" (( "(") (binary_expression "dVar54 < dVar60" (identifier "dVar54") (< "<") (identifier "dVar60")) () ")")) (goto_statement "goto LAB_002b8e7c;" (goto "goto") (statement_identifier "LAB_002b8e7c") (; ";"))) (expression_statement "uVar17 = (int)(dVar54 - dVar60) & 0xff;" (assignment_expression "uVar17 = (int)(dVar54 - dVar60) & 0xff" (identifier "uVar17") (= "=") (binary_expression "(int)(dVar54 - dVar60) & 0xff" (cast_expression "(int)(dVar54 - dVar60)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar54 - dVar60)" (( "(") (binary_expression "dVar54 - dVar60" (identifier "dVar54") (- "-") (identifier "dVar60")) () ")"))) (& "&") (number_literal "0xff"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_002b8328;" (goto "goto") (statement_identifier "LAB_002b8328") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" (identifier "iVar51") (= "=") (binary_expression "iVar51 + 1" (identifier "iVar51") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar19 = iVar19 + iVar48;" (assignment_expression "iVar19 = iVar19 + iVar48" (identifier "iVar19") (= "=") (binary_expression "iVar19 + iVar48" (identifier "iVar19") (+ "+") (identifier "iVar48"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar51 < (int)pfVar27[6])" (( "(") (binary_expression "iVar51 < (int)pfVar27[6]" (identifier "iVar51") (< "<") (cast_expression "(int)pfVar27[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar27[6]" (identifier "pfVar27") ([ "[") (number_literal "6") (] "]")))) () ")")) (; ";")) (} "}"))))) (expression_statement "fVar50 = pfVar27[7];" (assignment_expression "fVar50 = pfVar27[7]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[7]" (identifier "pfVar27") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" (identifier "fVar38") (= "=") (cast_expression "(float)((int)fVar38 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fVar38 + 1)" (( "(") (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar38")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((uint)fVar50 <= (uint)fVar38) {\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }" (if "if") (parenthesized_expression "((uint)fVar50 <= (uint)fVar38)" (( "(") (binary_expression "(uint)fVar50 <= (uint)fVar38" (cast_expression "(uint)fVar50" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar50")) (<= "<=") (cast_expression "(uint)fVar38" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar38"))) () ")")) (compound_statement "{\n          fStack_1a0 = (float)((int)fStack_1a0 + 1);\n          fVar38 = fStack_1a0;\n        }" ({ "{") (expression_statement "fStack_1a0 = (float)((int)fStack_1a0 + 1);" (assignment_expression "fStack_1a0 = (float)((int)fStack_1a0 + 1)" (identifier "fStack_1a0") (= "=") (cast_expression "(float)((int)fStack_1a0 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fStack_1a0 + 1)" (( "(") (binary_expression "(int)fStack_1a0 + 1" (cast_expression "(int)fStack_1a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fStack_1a0")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "fVar38 = fStack_1a0;" (assignment_expression "fVar38 = fStack_1a0" (identifier "fVar38") (= "=") (identifier "fStack_1a0")) (; ";")) (} "}"))) (if_statement "if (pfVar27[0xcd9] == 0.0) {\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }" (if "if") (parenthesized_expression "(pfVar27[0xcd9] == 0.0)" (( "(") (binary_expression "pfVar27[0xcd9] == 0.0" (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n          iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );\n          if (iVar19 == 0) break;\n          fVar50 = pfVar27[7];\n        }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             );" (assignment_expression "iVar19 = (**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar52 + 0xf11a0))\n                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" (parenthesized_expression "(**(code **)(puVar52 + 0xf11a0))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf11a0)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf11a0)" (* "*") (cast_expression "(code **)(puVar52 + 0xf11a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf11a0)" (( "(") (binary_expression "puVar52 + 0xf11a0" (identifier "puVar52") (+ "+") (number_literal "0xf11a0")) () ")"))))) () ")")) (argument_list "(pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50\n                             )" (( "(") (identifier "pfVar27") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dd8) + -0x15c" (pointer_expression "*(int *)(puVar52 + 0xf0dd8)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dd8)" (( "(") (binary_expression "puVar52 + 0xf0dd8" (identifier "puVar52") (+ "+") (number_literal "0xf0dd8")) () ")")))) (+ "+") (number_literal "-0x15c")) (, ",") (identifier "iVar6") (, ",") (identifier "uStack_1c8") (, ",") (number_literal "0") (, ",") (identifier "fVar50") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar50 = pfVar27[7];" (assignment_expression "fVar50 = pfVar27[7]" (identifier "fVar50") (= "=") (subscript_expression "pfVar27[7]" (identifier "pfVar27") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar17 = uStack_1c8 + 1;" (assignment_expression "uVar17 = uStack_1c8 + 1" (identifier "uVar17") (= "=") (binary_expression "uStack_1c8 + 1" (identifier "uStack_1c8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;" (assignment_expression "iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6" (identifier "iVar6") (= "=") (binary_expression "(uint)(uVar17 < uStack_1c8) + iVar6" (call_expression "(uint)(uVar17 < uStack_1c8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uStack_1c8)" (( "(") (binary_expression "uVar17 < uStack_1c8" (identifier "uVar17") (< "<") (identifier "uStack_1c8")) () ")"))) (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "uStack_1c8 = uVar17;" (assignment_expression "uStack_1c8 = uVar17" (identifier "uStack_1c8") (= "=") (identifier "uVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar17 < (int)fVar50)" (( "(") (binary_expression "(int)uVar17 < (int)fVar50" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (< "<") (cast_expression "(int)fVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar50"))) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf1b74))(pfVar27);" (call_expression "(**(code **)(puVar52 + 0xf1b74))(pfVar27)" (parenthesized_expression "(**(code **)(puVar52 + 0xf1b74))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf1b74)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) () ")")) (argument_list "(pfVar27)" (( "(") (identifier "pfVar27") () ")"))) (; ";")) (return_statement "return (float *)0x1;" (return "return") (cast_expression "(float *)0x1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0);" (call_expression "(**(code **)(puVar52 + 0xf140c))\n            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0)" (parenthesized_expression "(**(code **)(puVar52 + 0xf140c))" (( "(") (pointer_expression "**(code **)(puVar52 + 0xf140c)" (* "*") (pointer_expression "*(code **)(puVar52 + 0xf140c)" (* "*") (cast_expression "(code **)(puVar52 + 0xf140c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf140c)" (( "(") (binary_expression "puVar52 + 0xf140c" (identifier "puVar52") (+ "+") (number_literal "0xf140c")) () ")"))))) () ")")) (argument_list "(pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353\n             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,\n             pfVar27 + 0xd0)" (( "(") (identifier "pfVar31") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3720" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3720")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0e38) + 0x3788" (pointer_expression "*(int *)(puVar52 + 0xf0e38)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0e38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0e38)" (( "(") (binary_expression "puVar52 + 0xf0e38" (identifier "puVar52") (+ "+") (number_literal "0xf0e38")) () ")")))) (+ "+") (number_literal "0x3788")) (, ",") (number_literal "0x353") (, ",") (number_literal "0x1d1") (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x1284" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x1284")) (, ",") (binary_expression "*(int *)(puVar52 + 0xf0dcc) + 0x3e28" (pointer_expression "*(int *)(puVar52 + 0xf0dcc)" (* "*") (cast_expression "(int *)(puVar52 + 0xf0dcc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar52 + 0xf0dcc)" (( "(") (binary_expression "puVar52 + 0xf0dcc" (identifier "puVar52") (+ "+") (number_literal "0xf0dcc")) () ")")))) (+ "+") (number_literal "0x3e28")) (, ",") (binary_expression "pfVar27 + 0xd0" (identifier "pfVar27") (+ "+") (number_literal "0xd0")) () ")"))) (; ";")) (expression_statement "pfVar31 = pfVar27;" (assignment_expression "pfVar31 = pfVar27" (identifier "pfVar31") (= "=") (identifier "pfVar27")) (; ";")) (if_statement "if (pfVar5[3] == 0.0) {\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }\n  else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" (if "if") (parenthesized_expression "(pfVar5[3] == 0.0)" (( "(") (binary_expression "pfVar5[3] == 0.0" (subscript_expression "pfVar5[3]" (identifier "pfVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n    pcVar53 = *(code **)(puVar52 + 0xf1b74);\n  }" ({ "{") (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" (identifier "pcVar53") (= "=") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" (else "else") (compound_statement "{\n    do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);\n  }" ({ "{") (do_statement "do {\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    } while ((float *)pfVar27[0xcd9] != (float *)0x0);" (do "do") (compound_statement "{\n      pfVar27 = pfVar31;\n      pcVar53 = *(code **)(puVar52 + 0xf1b74);\n      pfVar31 = (float *)pfVar27[0xcd9];\n    }" ({ "{") (expression_statement "pfVar27 = pfVar31;" (assignment_expression "pfVar27 = pfVar31" (identifier "pfVar27") (= "=") (identifier "pfVar31")) (; ";")) (expression_statement "pcVar53 = *(code **)(puVar52 + 0xf1b74);" (assignment_expression "pcVar53 = *(code **)(puVar52 + 0xf1b74)" (identifier "pcVar53") (= "=") (pointer_expression "*(code **)(puVar52 + 0xf1b74)" (* "*") (cast_expression "(code **)(puVar52 + 0xf1b74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar52 + 0xf1b74)" (( "(") (binary_expression "puVar52 + 0xf1b74" (identifier "puVar52") (+ "+") (number_literal "0xf1b74")) () ")"))))) (; ";")) (expression_statement "pfVar31 = (float *)pfVar27[0xcd9];" (assignment_expression "pfVar31 = (float *)pfVar27[0xcd9]" (identifier "pfVar31") (= "=") (cast_expression "(float *)pfVar27[0xcd9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((float *)pfVar27[0xcd9] != (float *)0x0)" (( "(") (binary_expression "(float *)pfVar27[0xcd9] != (float *)0x0" (cast_expression "(float *)pfVar27[0xcd9]" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pfVar27[0xcd9]" (identifier "pfVar27") ([ "[") (number_literal "0xcd9") (] "]"))) (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_002b7c64:\n  (*pcVar53)(pfVar27);" (statement_identifier "LAB_002b7c64") (: ":") (expression_statement "(*pcVar53)(pfVar27);" (call_expression "(*pcVar53)(pfVar27)" (parenthesized_expression "(*pcVar53)" (( "(") (pointer_expression "*pcVar53" (* "*") (identifier "pcVar53")) () ")")) (argument_list "(pfVar27)" (( "(") (identifier "pfVar27") () ")"))) (; ";"))) (return_statement "return (float *)0x0;" (return "return") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator 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)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) 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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal))))) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (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: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (identifier)) right: (identifier)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (subscript_expression argument: (identifier) index: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) 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: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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 (identifier) (number_literal) (pointer_expression argument: (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))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (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))) (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (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))) (goto_statement label: (statement_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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) right: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) alternative: (else_clause (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_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: (false))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (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: (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) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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) (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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) (identifier) (identifier) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier))))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) 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: (number_literal))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (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: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (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: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))) (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))) (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: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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))) (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))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) 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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) 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: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) 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: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (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: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) 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: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) 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: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (identifier)) right: (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: (identifier))))))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) 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: (binary_expression left: (identifier) right: (identifier)) right: (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: (identifier)))))))))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) 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: (binary_expression left: (identifier) right: (identifier)) right: (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: (identifier)))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) 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: (binary_expression left: (identifier) right: (identifier)) right: (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: (identifier))))))))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (goto_statement label: (statement_identifier))))) (goto_statement label: (statement_identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) 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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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)))))) alternative: (else_clause (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: (number_literal))))))))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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)))))) alternative: (else_clause (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: (number_literal))))))))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (binary_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (number_literal)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (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: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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)))))) alternative: (else_clause (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: (number_literal))))))))) (if_statement condition: (parenthesized_expression (call_expression function: (identifier) arguments: (argument_list (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (binary_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (number_literal) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))

/* WARNING: Removing unreachable block (ram,0x002b78a8) */
/* WARNING: Removing unreachable block (ram,0x002b78bc) */

float * MASKED(int param_1,float *param_2)

{
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  char cVar4;
  float *pfVar5;
  int iVar6;
  undefined *puVar7;
  float fVar8;
  float **ppfVar9;
  float **ppfVar10;
  undefined *puVar11;
  float *pfVar12;
  float *pfVar13;
  undefined *puVar14;
  undefined4 uVar15;
  undefined4 *puVar16;
  uint uVar17;
  uint uVar18;
  int iVar19;
  byte *pbVar20;
  byte bVar21;
  undefined4 *puVar22;
  int iVar23;
  uint extraout_v1;
  uint extraout_v1_00;
  uint extraout_v1_01;
  uint extraout_v1_02;
  uint extraout_v1_03;
  uint extraout_v1_04;
  uint extraout_v1_05;
  uint extraout_v1_06;
  uint extraout_v1_07;
  byte *pbVar24;
  uint extraout_v1_08;
  byte extraout_v1_10;
  uint extraout_v1_09;
  undefined4 *puVar25;
  uint uVar26;
  float *pfVar27;
  float fVar28;
  int iVar29;
  uint uVar30;
  float *pfVar31;
  int iVar32;
  undefined4 uVar33;
  uint uVar34;
  int iVar35;
  byte bVar36;
  int iVar37;
  float fVar38;
  float fVar39;
  undefined4 *puVar40;
  int iVar41;
  int iVar42;
  int iVar43;
  int iVar44;
  int iVar45;
  byte *pbVar46;
  float *pfVar47;
  int iVar48;
  int iVar49;
  float fVar50;
  int iVar51;
  undefined *puVar52;
  code *pcVar53;
  double dVar54;
  float fVar56;
  double dVar55;
  double dVar57;
  double dVar58;
  float fVar59;
  double dVar60;
  double dVar61;
  double dVar62;
  double dVar63;
  ulonglong uVar64;
  double dVar65;
  double dVar66;
  double dVar67;
  double dVar68;
  double dVar69;
  undefined8 uVar70;
  float fStack_1ec;
  uint uStack_1c8;
  float fStack_1a0;
  float *local_f8;
  float *local_f0;
  uint local_ec;
  float *local_e4;
  char local_c9;
  float *local_c8;
  byte local_c4;
  char local_c3;
  ushort local_c2;
  ushort local_c0;
  byte local_be;
  undefined2 local_bc;
  undefined2 local_ba;
  ushort local_b8;
  ushort local_b6;
  byte local_b4;
  byte local_b3;
  float *local_b0 [10];
  double local_88;
  double local_80;
  double local_78;
  double local_68;
  float *local_60;
  undefined4 local_5c;
  byte local_58;
  byte local_57;
  byte local_56;
  byte local_55;
  float *local_54;
  
  puVar52 = PTR___stack_chk_guard_003a9230;
  local_54 = *(float **)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xd78,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xbf,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  if (*(int *)(param_1 + 0x3214) != -0x54535255) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0xda0,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc0,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  if (*(int *)(param_1 + 0x3210) != 0) {
    (*(code *)PTR_LogMagickEvent_003a91e0)
              (0x8000,PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,
               PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768,0xc2,
               PTR_s_t_to_left_003a88e4 + -0x62ac,param_1 + 0x2210);
  }
  if (param_2 == (float *)0x0) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x1cac,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc4,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  if (param_2[7] != -1.2269538e-12) {
    pfVar27 = (float *)(*(code *)PTR___assert_fail_003a9608)
                                 (PTR_LAB_003a88e0 + 0x294c,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720,0xc5,
                                  PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3778);
    return pfVar27;
  }
  pfVar5 = (float *)(*(code *)PTR_AcquireImage_003a960c)(param_1,param_2);
  pfVar31 = (float *)0x2;
  pfVar27 = pfVar5;
  iVar6 = (*(code *)PTR_OpenBlob_003a924c)(param_1,pfVar5,2,param_2);
  if (iVar6 == 0) {
    pfVar47 = (float *)0x0;
    (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);
    goto LAB_002b6964;
  }
  iVar6 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c4);
  local_c3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
  local_c8 = (float *)(*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
  if (iVar6 == 1) {
    if ((undefined1 *)((int)local_c8 + -1) < (undefined1 *)0x3) {
      if (local_c8 == (float *)0x1) {
LAB_002b69c0:
        if (local_c3 == '\0') goto LAB_002b68ec;
      }
    }
    else {
      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b69c0;
      if ((undefined1 *)0x1 < (undefined1 *)((int)local_c8 + -10)) goto LAB_002b68ec;
    }
    local_c2 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_c0 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_be = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
    local_bc = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_ba = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_b8 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_b6 = (*(code *)PTR_ReadBlobLSBShort_003a96fc)(pfVar5);
    local_b4 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
    local_b3 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
    iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);
    if (iVar6 != 0) {
      uVar33 = 0xe8;
      puVar7 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;
      goto LAB_002b6920;
    }
    pfVar27 = (float *)(uint)local_b4;
    if ((0x1e < ((uint)((int)pfVar27 + -2) & 0xff)) ||
       (-1 < (int)((0x40407fffU >> ((uint)((int)pfVar27 + -2) & 0x1f)) << 0x1f))) {
      uVar33 = 0xeb;
      goto LAB_002b68f4;
    }
    pfVar5[6] = (float)(uint)local_b8;
    pfVar5[7] = (float)(uint)local_b6;
    if ((local_c8 == (float *)0x3) || (local_c8 == (float *)0xb)) {
LAB_002b6bac:
      fVar8 = 7.00649e-45;
      if ((undefined1 *)0x7 < (undefined1 *)((int)pfVar27 + -9)) {
        fVar8 = 1.12104e-44;
      }
      pfVar5[8] = fVar8;
    }
    else {
      if (((local_b3 & 0xf) == 0) && (pfVar27 != (float *)0x20)) {
        fVar8 = 5.60519e-45;
        if (local_be != 0x20) {
          fVar8 = 0.0;
        }
      }
      else {
        fVar8 = 5.60519e-45;
      }
      pfVar5[0xaf] = fVar8;
      if (local_c8 == (float *)0x1) {
        if ((8 < local_be) && (local_be < 0x11)) {
          pfVar5[8] = 7.00649e-45;
          *pfVar5 = 2.8026e-45;
          goto LAB_002b6bc4;
        }
LAB_002b6b10:
        pfVar5[8] = 1.12104e-44;
      }
      else {
        if (local_c8 != (float *)&DAT_00000009) goto LAB_002b6bac;
        if (local_be < 9) goto LAB_002b6b10;
        if (local_be < 0x11) {
          pfVar5[8] = 7.00649e-45;
        }
        else {
          pfVar5[8] = 1.12104e-44;
        }
      }
      *pfVar5 = 2.8026e-45;
    }
LAB_002b6bc4:
    if (((uint)local_c8 & 0xfffffff7) == 3) {
      pfVar5[0xa8] = 2.8026e-45;
      pfVar5[2] = 2.24208e-44;
      pfVar5[1] = 4.2039e-45;
      if (((uint)local_c8 & 0xfffffffd) != 9) goto LAB_002b6be8;
LAB_002b7100:
      pfVar5[2] = 2.66247e-44;
    }
    else {
      pfVar5[2] = 2.24208e-44;
      if (local_c8 == (float *)&DAT_00000009) goto LAB_002b7100;
LAB_002b6be8:
      if (local_c8 == (float *)&DAT_0000000a) goto LAB_002b7100;
    }
    puVar7 = PTR_GetBlobSize_003a94b8;
    pfVar31 = local_c8;
    if (*pfVar5 == 2.8026e-45) {
      if (local_c3 != '\0') {
        pfVar5[9] = (float)((uint)local_c2 + (uint)local_c0);
        goto LAB_002b6c00;
      }
      fVar8 = (float)(1 << ((uint)pfVar27 & 0x1f));
      pfVar5[9] = fVar8;
      uVar70 = (*(code *)puVar7)(pfVar5);
      if (((int)((ulonglong)uVar70 >> 0x20) != 0) || ((uint)fVar8 <= (uint)(float)uVar70)) {
        pfVar27 = (float *)pfVar5[9];
        pfVar31 = param_2;
        iVar6 = (*(code *)PTR_AcquireImageColormap_003a9194)(pfVar5);
        if (iVar6 != 0) goto LAB_002b6c00;
        uVar33 = 0x11c;
        goto LAB_002b7224;
      }
      uVar33 = 0x11a;
      puVar7 = PTR_LAB_003a88e0 + 0x3e28;
      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
      puVar14 = PTR_s_courses_003a88ec + 0x4a0;
      uVar15 = 0x1a9;
LAB_002b725c:
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_2,pfVar27,pfVar31,uVar33,uVar15,puVar14,puVar7,param_1 + 0x2210);
      goto LAB_002b6944;
    }
LAB_002b6c00:
    pfVar47 = (float *)(uint)local_c4;
    if (pfVar47 != (float *)0x0) {
      pfVar12 = (float *)(*(code *)PTR_AcquireQuantumMemory_003a950c)(pfVar47 + 0x400,1);
      if (pfVar12 != (float *)0x0) {
        pfVar27 = pfVar47;
        pfVar31 = pfVar12;
        pfVar13 = (float *)(*(code *)PTR_ReadBlob_003a8dac)(pfVar5);
        puVar7 = PTR_SetImageProperty_003a9534;
        if (pfVar47 == pfVar13) {
          pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x1928);
          *(undefined1 *)((int)pfVar12 + (int)pfVar47) = 0;
          pfVar31 = pfVar12;
          (*(code *)puVar7)(pfVar5,pfVar27,pfVar12,param_2);
        }
        (*(code *)PTR_DestroyString_003a9074)(pfVar12);
        goto LAB_002b6c0c;
      }
      uVar33 = 0x130;
LAB_002b7224:
      puVar7 = PTR_LAB_003a88e0 + 0x3e28;
      pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
      pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
      puVar14 = PTR_LAB_003a88e0 + 0x16f8;
      uVar15 = 400;
      goto LAB_002b725c;
    }
LAB_002b6c0c:
    pfVar5[4] = 5.60519e-45;
    if ((local_b3 & 0x10) == 0) {
      if ((local_b3 & 0x20) != 0) {
        pfVar5[4] = 1.4013e-45;
      }
    }
    else if ((local_b3 & 0x20) == 0) {
      pfVar5[4] = 4.2039e-45;
    }
    else {
      pfVar5[4] = 2.8026e-45;
    }
    if (*(int *)(param_1 + 0x1dc) == 0) {
      pfVar31 = (float *)pfVar5[7];
      pfVar27 = (float *)pfVar5[6];
      iVar6 = (*(code *)PTR_SetImageExtent_003a94ac)(pfVar5,pfVar27,pfVar31,param_2);
      puVar7 = PTR_LAB_003a88e0;
      if (iVar6 == 0) {
        pfVar47 = (float *)(*(code *)PTR_DestroyImageList_003a9510)(pfVar5);
      }
      else {
        pfVar31 = (float *)0x58;
        pfVar27 = (float *)0x0;
        (*(code *)PTR_memset_003a96d4)(local_b0);
        puVar14 = PTR_AcquireImageColormap_003a9194;
        local_68 = *(double *)(puVar7 + 0x1a58);
        if (local_c3 != '\0') {
          pfVar31 = (float *)(uint)local_c2;
          pfVar27 = (float *)pfVar5[9];
          if ((float *)pfVar5[9] < pfVar31) {
            pfVar5[9] = (float)pfVar31;
            pfVar27 = pfVar31;
          }
          pfVar31 = param_2;
          iVar6 = (*(code *)puVar14)(pfVar5);
          if (iVar6 == 0) {
            uVar33 = 0x15a;
            goto LAB_002b7224;
          }
          uVar17 = (uint)local_c2;
          if (uVar17 != 0) {
            puVar25 = (undefined4 *)pfVar5[10];
            puVar40 = puVar25 + uVar17 * 0x16;
            ppfVar9 = local_b0;
            puVar16 = puVar25;
            do {
              do {
                puVar22 = puVar16;
                ppfVar10 = ppfVar9 + 4;
                pfVar47 = ppfVar9[1];
                pfVar31 = ppfVar9[2];
                pfVar27 = ppfVar9[3];
                *puVar22 = *ppfVar9;
                puVar22[1] = pfVar47;
                puVar22[2] = pfVar31;
                puVar22[3] = pfVar27;
                ppfVar9 = ppfVar10;
                puVar16 = puVar22 + 4;
              } while (ppfVar10 != &local_60);
              puVar25 = puVar25 + 0x16;
              puVar22[4] = local_60;
              puVar22[5] = local_5c;
              ppfVar9 = local_b0;
              puVar16 = puVar25;
              pfVar27 = local_60;
            } while (puVar40 != puVar25);
          }
          if ((int)uVar17 < (int)pfVar5[9]) {
            iVar6 = uVar17 * 0x58;
            dVar65 = *(double *)(puVar7 + 0x1a58);
            dVar60 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);
            dVar62 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);
            dVar67 = dVar60;
            dVar69 = dVar60;
            do {
              uVar26 = (uint)local_be;
              if (uVar26 == 0x18) {
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_78 = (double)(float)((double)bVar36 * dVar60);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_80 = (double)(float)((double)bVar36 * dVar60);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_88 = (double)(float)((double)bVar36 * dVar60);
              }
              else if (uVar26 < 0x19) {
                if (uVar26 - 0xf < 2) {
                  uVar26 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                  uVar18 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                  local_88 = (double)(float)((double)((uVar18 << 0x19) >> 0x1b) * dVar62 * dVar65);
                  local_78 = (double)(float)((double)(uVar26 & 0x1f) * dVar62 * dVar65);
                  local_80 = (double)(float)((double)((uVar18 & 3) * 8 + ((uVar26 & 0xff) >> 5)) *
                                             dVar62 * dVar65);
                }
                else {
LAB_002b7684:
                  bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                  local_88 = (double)(float)((double)bVar36 * dVar69);
                  local_80 = local_88;
                  local_78 = local_88;
                }
              }
              else {
                if (uVar26 != 0x20) goto LAB_002b7684;
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_78 = (double)(float)((double)bVar36 * dVar67);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_80 = (double)(float)((double)bVar36 * dVar67);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_88 = (double)(float)((double)bVar36 * dVar67);
                bVar36 = (*(code *)PTR_ReadBlobByte_003a97f0)(pfVar5);
                local_68 = (double)(float)((double)bVar36 * dVar67);
              }
              puVar16 = (undefined4 *)((int)pfVar5[10] + iVar6);
              ppfVar9 = local_b0;
              do {
                puVar25 = puVar16;
                ppfVar10 = ppfVar9 + 4;
                pfVar31 = ppfVar9[1];
                pfVar27 = ppfVar9[2];
                pfVar47 = ppfVar9[3];
                *puVar25 = *ppfVar9;
                puVar25[1] = pfVar31;
                puVar25[2] = pfVar27;
                puVar25[3] = pfVar47;
                puVar16 = puVar25 + 4;
                ppfVar9 = ppfVar10;
              } while (ppfVar10 != &local_60);
              uVar17 = uVar17 + 1;
              puVar25[4] = local_60;
              puVar25[5] = local_5c;
              iVar6 = iVar6 + 0x58;
            } while ((int)uVar17 < (int)pfVar5[9]);
          }
        }
        puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8;
        local_c9 = '\0';
        if (0 < (int)pfVar5[7]) {
          uVar64 = 0;
          bVar1 = false;
          bVar2 = false;
          local_f0 = (float *)0x0;
          local_ec = 0;
          dVar69 = *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af0);
          local_f8 = (float *)0x0;
          local_e4 = (float *)0x0;
          dVar67 = *(double *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x37b0);
          puVar11 = PTR_LAB_003a88e0 + 0x3e28;
          do {
            pfVar27 = (float *)0x0;
            pfVar31 = local_f8;
            iVar6 = (*(code *)PTR_QueueAuthenticPixels_003a8f24)
                              (pfVar5,0,local_f8,pfVar5[6],1,param_2);
            puVar3 = PTR_s_t_to_left_003a88e4;
            if (iVar6 == 0) break;
            fVar8 = pfVar5[6];
            if (0 < (int)fVar8) {
              iVar37 = 0;
              dVar60 = *(double *)(puVar14 + -0x5af0);
              do {
                cVar4 = local_c9;
                if (((undefined1 *)((int)local_c8 + -9) < (undefined1 *)0x3) &&
                   (cVar4 = local_c9 + -1, bVar1 = bVar2, local_c9 == '\0')) {
                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_c9);
                  if (iVar23 == 1) {
                    if (local_c9 < '\0') {
                      bVar2 = true;
                      local_c9 = local_c9 + -0x80;
                    }
                    else {
                      bVar2 = false;
                    }
                    goto LAB_002b6fd4;
                  }
                  uVar33 = 0x1bd;
LAB_002b7920:
                  puVar7 = PTR_LAB_003a88e0 + 0x3e28;
                  pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
                  pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
                  puVar14 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x18cc;
                  uVar15 = 0x1a9;
                  goto LAB_002b725c;
                }
                local_c9 = cVar4;
                if (bVar1) {
                  fVar38 = *pfVar5;
                  fVar39 = pfVar5[0xaf];
                  dVar62 = local_78;
                  dVar65 = local_80;
                  dVar66 = local_88;
LAB_002b6f24:
                  fVar50 = pfVar5[0xb4];
                  if (fVar38 == 2.8026e-45) {
LAB_002b72e8:
                    if (*(int *)((int)fVar50 + 0x40) != 0) {
                      *(int *)(iVar6 + *(int *)((int)fVar50 + 0x44) * 4) = (int)uVar64;
                    }
                  }
                }
                else {
LAB_002b6fd4:
                  uVar17 = (uint)local_b4;
                  if (uVar17 == 0x18) {
                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,3,&local_58);
                    if (iVar23 != 3) {
                      uVar33 = 0x1ff;
                      goto LAB_002b7920;
                    }
                    bVar1 = false;
                    fVar38 = *pfVar5;
                    fVar39 = pfVar5[0xaf];
                    fVar8 = pfVar5[6];
                    local_78 = (double)(float)((double)local_58 * dVar69);
                    local_80 = (double)(float)((double)local_57 * dVar69);
                    local_88 = (double)(float)((double)local_56 * dVar69);
                    dVar62 = local_78;
                    dVar65 = local_80;
                    dVar66 = local_88;
                    goto LAB_002b6f24;
                  }
                  if (0x18 < uVar17) {
                    if (uVar17 == 0x20) {
                      iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,4,&local_58);
                      if (iVar23 != 4) {
                        uVar33 = 0x20b;
                        goto LAB_002b7920;
                      }
                      bVar1 = false;
                      fVar8 = pfVar5[6];
                      fVar38 = *pfVar5;
                      dVar62 = *(double *)(puVar14 + -0x5af0);
                      fVar39 = pfVar5[0xaf];
                      local_78 = (double)(float)((double)local_58 * dVar62);
                      local_80 = (double)(float)((double)local_57 * dVar62);
                      local_88 = (double)(float)((double)local_56 * dVar62);
                      local_68 = (double)(float)((double)local_55 * dVar62);
                      dVar62 = local_78;
                      dVar65 = local_80;
                      dVar66 = local_88;
                      goto LAB_002b6f24;
                    }
LAB_002b747c:
                    iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,1,&local_58);
                    if (iVar23 != 1) {
                      uVar33 = 0x1ce;
                      goto LAB_002b7920;
                    }
                    uVar17 = (uint)local_58;
                    uVar64 = (ulonglong)(uint)(float)uVar17;
                    if (local_c3 == '\0') {
                      fVar38 = *pfVar5;
                      bVar1 = false;
                      fVar39 = pfVar5[0xaf];
                      fVar8 = pfVar5[6];
                      local_88 = (double)(float)((double)uVar17 * dVar60);
                      dVar62 = local_88;
                      dVar65 = local_88;
                      dVar66 = local_88;
                      local_80 = local_88;
                      local_78 = local_88;
                    }
                    else {
                      puVar16 = (undefined4 *)pfVar5[10];
                      if ((int)uVar17 < (int)pfVar5[9]) {
                        puVar16 = puVar16 + uVar17 * 0x16;
                      }
                      else if (*param_2 != 5.95552e-43) {
                        (*(code *)PTR_ThrowMagickException_003a8f20)
                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,
                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,
                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);
                      }
                      puVar25 = puVar16;
                      ppfVar9 = local_b0;
                      do {
                        ppfVar10 = ppfVar9;
                        puVar40 = puVar25;
                        puVar25 = puVar40 + 4;
                        pfVar47 = (float *)puVar40[1];
                        pfVar31 = (float *)puVar40[2];
                        pfVar27 = (float *)puVar40[3];
                        *ppfVar10 = (float *)*puVar40;
                        ppfVar10[1] = pfVar47;
                        ppfVar10[2] = pfVar31;
                        ppfVar10[3] = pfVar27;
                        ppfVar9 = ppfVar10 + 4;
                      } while (puVar25 != puVar16 + 0x14);
                      bVar1 = false;
                      pfVar27 = (float *)puVar40[5];
                      ppfVar10[4] = (float *)*puVar25;
                      ppfVar10[5] = pfVar27;
                      fVar38 = *pfVar5;
                      fVar39 = pfVar5[0xaf];
                      fVar8 = pfVar5[6];
                      dVar62 = local_78;
                      dVar65 = local_80;
                      dVar66 = local_88;
                    }
                    goto LAB_002b6f24;
                  }
                  if (1 < uVar17 - 0xf) goto LAB_002b747c;
                  iVar23 = (*(code *)PTR_ReadBlob_003a8dac)(pfVar5,2,&local_58);
                  if (iVar23 != 2) {
                    uVar33 = 0x1e8;
                    goto LAB_002b7920;
                  }
                  uVar17 = (uint)local_57;
                  fVar39 = pfVar5[0xaf];
                  dVar54 = *(double *)(puVar7 + 0x1a58);
                  dVar66 = (double)(float)((double)((uVar17 << 0x19) >> 0x1b) * dVar67 * dVar54);
                  dVar65 = (double)(float)((double)((uVar17 & 3) * 8 + (uint)(local_58 >> 5)) *
                                           dVar67 * dVar54);
                  dVar62 = (double)(float)((double)(local_58 & 0x1f) * dVar67 * dVar54);
                  if ((fVar39 != 0.0) && (local_68 = dVar54, -1 < (char)local_57)) {
                    local_68 = 0.0;
                  }
                  bVar1 = false;
                  local_88 = dVar66;
                  local_80 = dVar65;
                  local_78 = dVar62;
                  if (*pfVar5 == 2.8026e-45) {
                    iVar23 = uVar17 * 0x100 + (uint)local_58;
                    if (iVar23 < (int)pfVar5[9]) {
                      uVar64 = (ulonglong)(uint)(float)iVar23;
                    }
                    else {
                      if (*param_2 != 5.95552e-43) {
                        uVar64 = 0;
                        bVar1 = false;
                        (*(code *)PTR_ThrowMagickException_003a8f20)
                                  (param_2,PTR_s_courses_003a88ec + 0x6f4,
                                   PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3750,0x23,
                                   0x1a9,puVar3 + -0x5990,puVar11,pfVar5 + 0xd0);
                        fVar38 = *pfVar5;
                        fVar39 = pfVar5[0xaf];
                        fVar8 = pfVar5[6];
                        goto LAB_002b6f24;
                      }
                      uVar64 = 0;
                    }
                    fVar50 = pfVar5[0xb4];
                    bVar1 = false;
                    fVar8 = pfVar5[6];
                    goto LAB_002b72e8;
                  }
                  fVar50 = pfVar5[0xb4];
                  fVar8 = pfVar5[6];
                }
                iVar23 = *(int *)((int)fVar50 + 0x20);
                pfVar31 = (float *)(iVar6 + *(int *)((int)fVar50 + 0x14) * 4);
                *(float *)(iVar6 + *(int *)((int)fVar50 + 8) * 4) = (float)dVar66;
                *pfVar31 = (float)dVar65;
                *(float *)(iVar6 + iVar23 * 4) = (float)dVar62;
                if ((fVar39 != 0.0) && (*(int *)((int)fVar50 + 0x34) != 0)) {
                  *(float *)(iVar6 + *(int *)((int)fVar50 + 0x38) * 4) = (float)local_68;
                }
                iVar37 = iVar37 + 1;
                iVar6 = iVar6 + (int)pfVar5[0xb0] * 4;
              } while (iVar37 < (int)fVar8);
            }
            if (local_b3 >> 6 == 2) {
              local_f8 = (float *)((int)local_f8 + 2);
            }
            else {
              local_f8 = (float *)((int)local_f8 + 1);
            }
            if ((float *)pfVar5[7] <= local_f8) {
              local_f8 = (float *)((int)local_e4 + 1);
              local_e4 = local_f8;
            }
            pfVar27 = param_2;
            iVar6 = (*(code *)PTR_SyncAuthenticPixels_003a91e4)(pfVar5);
            if (iVar6 == 0) break;
            fVar8 = pfVar5[7];
            if (pfVar5[0xcd9] == 0.0) {
              pfVar27 = (float *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x2dd0);
              pfVar31 = local_f0;
              iVar6 = (*(code *)PTR_SetImageProgress_003a8cb4)
                                (pfVar5,pfVar27,local_f0,local_ec,0,fVar8);
              if (iVar6 == 0) break;
              fVar8 = pfVar5[7];
            }
            uVar17 = local_ec + 1;
            local_f0 = (float *)((uint)(uVar17 < local_ec) + (int)local_f0);
            local_ec = uVar17;
          } while ((int)uVar17 < (int)fVar8);
        }
        iVar6 = (*(code *)PTR_EOFBlob_003a9748)(pfVar5);
        if (iVar6 != 0) {
          puVar16 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
          uVar33 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar16);
          pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
          pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
          (*(code *)PTR_ThrowMagickException_003a8f20)
                    (param_2,pfVar27,pfVar31,0x233,0x1a9,PTR_s_courses_003a88ec + -0x17c,
                     PTR_LAB_003a88e0 + 0xe78,pfVar5 + 0xd0,uVar33);
          (*(code *)PTR_DestroyString_003a9074)(uVar33);
        }
        (*(code *)PTR_CloseBlob_003a9688)(pfVar5);
        pfVar47 = (float *)(*(code *)PTR_GetFirstImageInList_003a944c)(pfVar5);
      }
    }
    else {
      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);
      pfVar47 = pfVar5;
    }
  }
  else {
LAB_002b68ec:
    uVar33 = 0xdd;
LAB_002b68f4:
    puVar7 = PTR_s_courses_003a88ec + -400;
LAB_002b6920:
    pfVar31 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3768);
    pfVar27 = (float *)(PTR_s_pixels_3_def_____currentfile_byt_003a894c + 0x3720);
    (*(code *)PTR_ThrowMagickException_003a8f20)
              (param_2,pfVar27,pfVar31,uVar33,0x1a9,puVar7,PTR_LAB_003a88e0 + 0x3e28,
               param_1 + 0x2210);
    if (pfVar5 != (float *)0x0) {
LAB_002b6944:
      (*(code *)PTR_CloseBlob_003a9688)(pfVar5);
      (*(code *)PTR_DestroyImageList_003a9510)(pfVar5);
    }
    pfVar47 = (float *)0x0;
  }
LAB_002b6964:
  if (local_54 == *(float **)puVar52) {
    return pfVar47;
  }
  pfVar5 = local_54;
  puVar52 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  if (pfVar5 == (float *)0x0) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0xd78,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fc,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);
    return pfVar27;
  }
  iVar6 = *(int *)(puVar52 + 0xf0e38);
  if (pfVar5[0xc85] != -1.2269538e-12) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0xda0,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fd,iVar6 + 0x3798);
    return pfVar27;
  }
  if (pfVar27 == (float *)0x0) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0xdd0,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2fe,iVar6 + 0x3798);
    return pfVar27;
  }
  if (pfVar27[0xcdb] != -1.2269538e-12) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dd4) + -0x3784,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x2ff,iVar6 + 0x3798);
    return pfVar27;
  }
  if (pfVar27[0xcd4] != 0.0) {
    (**(code **)(puVar52 + 0xf16cc))
              (0x8000,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,
               0x301,*(int *)(puVar52 + 0xf0dd0) + -0x62ac,pfVar27 + 0xd0);
  }
  if (pfVar31 == (float *)0x0) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0x1cac,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x302,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);
    return pfVar27;
  }
  if (pfVar31[7] != -1.2269538e-12) {
    pfVar27 = (float *)(**(code **)(puVar52 + 0xf1af4))
                                 (*(int *)(puVar52 + 0xf0dcc) + 0x294c,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3720,0x303,
                                  *(int *)(puVar52 + 0xf0e38) + 0x3798);
    return pfVar27;
  }
  iVar6 = (**(code **)(puVar52 + 0xf1738))(pfVar5,pfVar27,4,pfVar31);
  if (iVar6 == 0) {
    return (float *)0x0;
  }
  if ((0xffff < (uint)pfVar27[6]) || (0xffff < (uint)pfVar27[7])) {
    (**(code **)(puVar52 + 0xf140c))
              (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,
               0x30b,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28
               ,pfVar27 + 0xd0);
    pfVar31 = pfVar27;
    if (pfVar5[3] == 0.0) {
      pcVar53 = *(code **)(puVar52 + 0xf1b74);
    }
    else {
      do {
        pfVar27 = pfVar31;
        pcVar53 = *(code **)(puVar52 + 0xf1b74);
        pfVar31 = (float *)pfVar27[0xcd9];
      } while ((float *)pfVar27[0xcd9] != (float *)0x0);
    }
    goto LAB_002b7c64;
  }
  (**(code **)(puVar52 + 0xf166c))(pfVar27,0x17,pfVar31);
  fVar8 = *pfVar5;
  if (*pfVar5 == 0.0) {
    fVar8 = pfVar27[2];
  }
  iVar6 = (**(code **)(puVar52 + 0xf18e8))(pfVar27,*(int *)(puVar52 + 0xf0dd4) + -0x1928,pfVar31);
  if (iVar6 == 0) {
    uVar17 = 0;
  }
  else {
    uVar17 = (**(code **)(puVar52 + 0xf1824))(iVar6);
    if (uVar17 < 0xff) {
      uVar17 = uVar17 & 0xff;
    }
    else {
      uVar17 = 0xff;
    }
  }
  fVar50 = pfVar27[6];
  fVar38 = pfVar27[7];
  fVar39 = fVar50;
  if ((((int)pfVar5[0x76] - 6U < 2) || (pfVar5[0x76] == 5.60519e-45)) || (pfVar27[0xaf] != 0.0)) {
LAB_002b7d90:
    if (*pfVar27 != 1.4013e-45) {
      uVar26 = 9;
      if ((uint)pfVar27[9] < 0x101) {
        bVar36 = 0;
        uVar33 = 8;
        if (fVar8 != 2.66247e-44) {
          uVar26 = 1;
        }
        uVar18 = 0x10;
        iVar37 = 1;
        uVar34 = (uint)pfVar27[9] & 0xffff;
        if (pfVar5[0xc] != 7.00649e-45) {
          uVar18 = 0x18;
        }
        goto LAB_002b7de4;
      }
    }
    uVar26 = 10;
    fVar59 = pfVar27[0xaf];
    if (fVar8 != 2.66247e-44) {
      uVar26 = 2;
    }
    if (pfVar5[0xc] == 7.00649e-45) {
      bVar36 = fVar59 != 0.0;
      uVar18 = 0;
      uVar33 = 0x10;
      uVar34 = 0;
      iVar37 = 0;
    }
    else {
      uVar33 = 0x18;
      bVar36 = 8;
      if (fVar59 != 0.0) {
        uVar33 = 0x20;
      }
      uVar18 = 0;
      uVar34 = 0;
      if (fVar59 == 0.0) {
        bVar36 = 0;
      }
      iVar37 = 0;
    }
  }
  else {
    iVar37 = (**(code **)(puVar52 + 0xf1490))(pfVar27,pfVar31);
    fVar39 = pfVar27[6];
    if (iVar37 == 0) goto LAB_002b7d90;
    bVar36 = 0;
    uVar33 = 8;
    uVar26 = 0xb;
    uVar18 = 0;
    if (fVar8 != 2.66247e-44) {
      uVar26 = 3;
    }
    uVar34 = 0;
    iVar37 = 0;
  }
LAB_002b7de4:
  if ((int)pfVar27[4] - 2U < 2) {
    bVar36 = bVar36 | 0x10;
  }
  if ((uint)pfVar27[4] < 3) {
    bVar36 = bVar36 | 0x20;
  }
  if (((uint)fVar39 < 0x10000) && ((uint)pfVar27[7] < 0x10000)) {
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar37);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar26);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,uVar34);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,0);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar50 & 0xffff);
    (**(code **)(puVar52 + 0xf1de4))(pfVar27,(uint)fVar38 & 0xffff);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar33);
    (**(code **)(puVar52 + 0xf14c8))(pfVar27,bVar36);
    if (uVar17 != 0) {
      (**(code **)(puVar52 + 0xf1e80))(pfVar27,uVar17,iVar6);
    }
    if (iVar37 != 0) {
      pbVar20 = (byte *)(**(code **)(puVar52 + 0xf19f8))(uVar34);
      if (pbVar20 == (byte *)0x0) {
        (**(code **)(puVar52 + 0xf140c))
                  (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788
                   ,0x372,400,*(int *)(puVar52 + 0xf0dcc) + 0x16f8,
                   *(int *)(puVar52 + 0xf0dcc) + 0x3e28,pfVar27 + 0xd0);
        pfVar31 = pfVar27;
        if (pfVar5[3] == 0.0) {
          pcVar53 = *(code **)(puVar52 + 0xf1b74);
        }
        else {
          do {
            pfVar27 = pfVar31;
            pcVar53 = *(code **)(puVar52 + 0xf1b74);
            pfVar31 = (float *)pfVar27[0xcd9];
          } while ((float *)pfVar27[0xcd9] != (float *)0x0);
        }
        goto LAB_002b7c64;
      }
      fVar39 = pfVar27[9];
      if (0 < (int)fVar39) {
        iVar49 = *(int *)(puVar52 + 0xf0dcc);
        fVar38 = 0.0;
        iVar19 = *(int *)(puVar52 + 0xf0dcc);
        dVar65 = *(double *)(iVar49 + 0x1400);
        iVar37 = *(int *)(puVar52 + 0xf0dd4);
        dVar68 = *(double *)(*(int *)(puVar52 + 0xf0dd4) + -0x5af0);
        iVar6 = *(int *)(puVar52 + 0xf0dd8);
        dVar63 = *(double *)(iVar37 + -0x5ae8);
        iVar48 = *(int *)(puVar52 + 0xf0dcc);
        dVar54 = *(double *)(iVar6 + -0x62d8);
        iVar23 = *(int *)(puVar52 + 0xf0dcc);
        dVar66 = *(double *)(iVar19 + 0x1a60);
        dVar61 = *(double *)(iVar48 + 0x1410);
        fVar50 = pfVar27[10];
        dVar57 = *(double *)(iVar23 + 0x1a58);
        fVar59 = pfVar5[0xc];
        iVar45 = 0;
        fVar28 = *(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708);
        pbVar46 = pbVar20;
        dVar67 = dVar61;
        dVar69 = dVar68;
        dVar60 = dVar68;
        dVar62 = dVar63;
        do {
          iVar51 = (int)fVar50 + iVar45;
          fVar56 = (float)*(double *)(iVar51 + 0x38);
          if (fVar59 == 7.00649e-45) {
            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {
              bVar36 = 0;
              bVar21 = 0;
            }
            else {
              dVar55 = ((double)(float)*(double *)(iVar51 + 0x30) * *(double *)(iVar6 + -0x62d8)) /
                       *(double *)(iVar23 + 0x1a58);
              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {
                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));
                bVar36 = (byte)(((extraout_v1_08 & 0xff) << 0x1b) >> 0x1e);
                bVar21 = (byte)((extraout_v1_08 & 0xff) << 5);
              }
              else {
                bVar36 = 3;
                bVar21 = 0xe0;
              }
            }
            if (0.0 < fVar56) {
              dVar55 = ((double)fVar56 * *(double *)(iVar6 + -0x62d8)) /
                       *(double *)(iVar23 + 0x1a58);
              if (dVar55 < *(double *)(iVar19 + 0x1a60)) {
                (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));
                bVar21 = bVar21 | extraout_v1_10;
              }
              else {
                bVar21 = 0xff;
              }
            }
            fVar56 = pfVar27[0xaf];
            *pbVar46 = bVar21;
            if ((fVar56 != 0.0) && (fVar28 < (float)*(double *)(iVar51 + 0x48))) {
              bVar36 = bVar36 | 0x80;
            }
            if (0.0 < (float)*(double *)(iVar51 + 0x28)) {
              dVar55 = ((double)(float)*(double *)(iVar51 + 0x28) * dVar54) / dVar57;
              if (dVar66 <= dVar55) {
                pbVar24 = pbVar46 + 2;
                pbVar46[1] = bVar36 | 0xfc;
                goto LAB_002b97b4;
              }
              (**(code **)(puVar52 + 0xf0e40))(dVar55 + *(double *)(iVar49 + 0x1400));
              bVar36 = bVar36 | (byte)((extraout_v1_09 & 0xff) << 2);
            }
            pbVar46[1] = bVar36;
            pbVar24 = pbVar46 + 2;
          }
          else {
            bVar36 = 0;
            if (0.0 < fVar56) {
              if ((double)fVar56 / dVar68 < *(double *)(iVar37 + -0x5ae8)) {
                dVar58 = *(double *)(iVar48 + 0x1410);
                dVar55 = (double)fVar56 / dVar68 + *(double *)(iVar49 + 0x1400);
                if (dVar55 < dVar58) {
                  bVar36 = (byte)(int)dVar55;
                }
                else {
                  bVar36 = (byte)(int)(dVar55 - dVar58);
                }
              }
              else {
                bVar36 = 0xff;
              }
            }
            *pbVar46 = bVar36;
            if ((float)*(double *)(iVar51 + 0x30) <= 0.0) {
              bVar36 = 0;
            }
            else {
              dVar55 = (double)(float)*(double *)(iVar51 + 0x30) / dVar69;
              if (dVar55 < dVar62) {
                dVar55 = dVar55 + dVar65;
                if (dVar55 < dVar61) {
                  bVar36 = (byte)(int)dVar55;
                }
                else {
                  bVar36 = (byte)(int)(dVar55 - dVar61);
                }
              }
              else {
                bVar36 = 0xff;
              }
            }
            pbVar46[1] = bVar36;
            pbVar24 = pbVar46 + 3;
            if ((float)*(double *)(iVar51 + 0x28) <= 0.0) {
              bVar36 = 0;
            }
            else {
              dVar55 = (double)(float)*(double *)(iVar51 + 0x28) / dVar60;
              if (dVar55 < dVar63) {
                dVar55 = dVar55 + dVar65;
                if (dVar55 < dVar67) {
                  bVar36 = (byte)(int)dVar55;
                }
                else {
                  bVar36 = (byte)(int)(dVar55 - dVar67);
                }
              }
              else {
                bVar36 = 0xff;
              }
            }
            pbVar46[2] = bVar36;
          }
LAB_002b97b4:
          fVar38 = (float)((int)fVar38 + 1);
          iVar45 = iVar45 + 0x58;
          pbVar46 = pbVar24;
        } while (fVar39 != fVar38);
      }
      (**(code **)(puVar52 + 0xf1e80))(pfVar27,(uVar18 >> 3) * uVar34,pbVar20);
      (**(code **)(puVar52 + 0xf14ac))(pbVar20);
    }
    fVar39 = pfVar27[0xb0];
    if (0 < (int)pfVar27[7]) {
      iVar37 = *(int *)(puVar52 + 0xf0dd4);
      iVar48 = (int)fVar39 * 4;
      iVar23 = *(int *)(puVar52 + 0xf0dcc);
      iVar6 = 0;
      dVar69 = *(double *)(iVar37 + -0x5af0);
      dVar67 = *(double *)(iVar23 + 0x1400);
      uStack_1c8 = 0;
      fVar38 = 0.0;
      fStack_1a0 = 0.0;
      do {
        iVar19 = (**(code **)(puVar52 + 0xf1c50))(pfVar27,0,fVar38,pfVar27[6],1,pfVar31);
        if (iVar19 == 0) break;
        fVar50 = pfVar27[6];
        if (fVar8 == 2.66247e-44) {
          iVar45 = *(int *)(puVar52 + 0xf0dd4);
          if (0 < (int)fVar50) {
            fStack_1ec = 0.0;
            dVar60 = *(double *)(iVar45 + -0x5ae8);
            iVar49 = 0;
            do {
              iVar44 = 1;
              iVar32 = iVar48;
              fVar59 = fStack_1ec;
              iVar51 = iVar49;
              do {
                iVar51 = iVar51 + 1;
                fVar59 = (float)((int)fVar59 + 1);
                if ((0x7f < iVar51) || ((int)fVar50 <= (int)fVar59)) {
                  bVar1 = iVar44 < 3;
                  if (!bVar1) goto LAB_002b8734;
                  iVar19 = iVar44 * iVar48 + iVar19;
                  iVar49 = iVar51;
                  fStack_1ec = fVar59;
                  if (iVar51 == 0x80) goto LAB_002b8a88;
LAB_002b8690:
                  bVar1 = iVar44 < 3;
                  iVar49 = iVar51;
                  fStack_1ec = fVar59;
                  if (fVar59 != fVar50) goto LAB_002b869c;
                  goto LAB_002b8a88;
                }
                fVar28 = pfVar27[0xb4];
                if (uVar26 == 9) {
                  if ((*(int *)((int)fVar28 + 0x40) != 0) &&
                     (iVar29 = *(int *)((int)fVar28 + 0x44) * 4,
                     *(float *)(iVar19 + iVar32 + iVar29 + (int)fVar39 * -4) !=
                     *(float *)(iVar19 + iVar32 + iVar29))) goto LAB_002b8680;
                }
                else {
                  iVar35 = iVar32 + (int)fVar39 * -4;
                  iVar29 = *(int *)((int)fVar28 + 0x20) * 4;
                  if (uVar26 == 0xb) {
                    iVar41 = iVar32 + iVar19;
                    iVar35 = iVar19 + (int)fVar39 * -4 + iVar32;
                    iVar42 = *(int *)((int)fVar28 + 0x14) * 4;
                    iVar43 = *(int *)((int)fVar28 + 8) * 4;
                    if (*(float *)(iVar35 + iVar29) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                        *(float *)(iVar35 + iVar43) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                        *(float *)(iVar35 + iVar42) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64) !=
                        *(float *)(iVar41 + iVar29) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                        *(float *)(iVar41 + iVar43) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                        *(float *)(iVar41 + iVar42) *
                        *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64)) goto LAB_002b8680;
                  }
                  else {
                    iVar41 = iVar19 + iVar32;
                    if ((((*(float *)(iVar19 + iVar35 + iVar29) != *(float *)(iVar41 + iVar29)) ||
                         (iVar29 = *(int *)((int)fVar28 + 0x14) * 4,
                         *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||
                        (iVar29 = *(int *)((int)fVar28 + 8) * 4,
                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))) ||
                       (((pfVar27[0xaf] != 0.0 && (*(int *)((int)fVar28 + 0x34) != 0)) &&
                        (iVar29 = *(int *)((int)fVar28 + 0x38) * 4,
                        *(float *)(iVar19 + iVar29 + iVar35) != *(float *)(iVar41 + iVar29))))) {
LAB_002b8680:
                      if (iVar44 < 3) {
                        iVar19 = iVar44 * iVar48 + iVar19;
                        goto LAB_002b8690;
                      }
                      goto LAB_002b8734;
                    }
                  }
                }
                iVar44 = iVar44 + 1;
                iVar32 = iVar32 + iVar48;
              } while (iVar44 != 0x80);
              fVar59 = (float)((int)fStack_1ec + 0x80);
LAB_002b8734:
              bVar1 = iVar44 < 3;
              fStack_1ec = fVar59;
              if (iVar49 == 0) {
LAB_002b873c:
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,iVar44 - 1U & 0x7f | 0x80);
                if ((uVar26 & 3) == 1) {
                  if (*(int *)((int)pfVar27[0xb4] + 0x40) == 0) {
LAB_002b8944:
                    uVar17 = 0;
                  }
                  else {
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x44) * 4);
                    if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {
                      uVar17 = (int)fVar50 & 0xff;
                    }
                    else {
                      uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &
                               0xff;
                    }
                  }
LAB_002b8948:
                  (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                }
                else {
                  fVar50 = pfVar27[0xb4];
                  fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);
                  if ((uVar26 & 3) == 3) {
                    fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                             *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *
                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                             *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *
                             *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);
                    if (fVar50 <= 0.0) goto LAB_002b8944;
                    dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                    if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                      dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                      dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                      if (dVar62 < dVar65) {
LAB_002b8a58:
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
LAB_002b89a4:
                        uVar17 = (int)(dVar62 - dVar65) & 0xff;
                      }
                    }
                    else {
LAB_002b93cc:
                      uVar17 = 0xff;
                    }
                    goto LAB_002b8948;
                  }
                  if (pfVar27[8] == 7.00649e-45) {
                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);
                    if (fVar50 <= 0.0) {
                      uVar17 = 0;
                      uVar34 = 0;
                      uVar18 = 0;
                    }
                    else {
                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));
                        uVar18 = (extraout_v1_05 & 0xff) << 5;
                        uVar17 = ((extraout_v1_05 & 0xff) << 0x1b) >> 0x1e;
                        uVar34 = (uint)(char)uVar18;
                      }
                      else {
                        uVar17 = 3;
                        uVar34 = 0xffffffe0;
                        uVar18 = 0x1fe0;
                      }
                    }
                    if (NAN(fVar59)) {
LAB_002b94d4:
                      uVar34 = uVar34 & 0xff;
                    }
                    else if (0.0 < fVar59) {
                      dVar62 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));
                        uVar34 = uVar34 | extraout_v1_06;
                        goto LAB_002b94d4;
                      }
                      uVar34 = 0xff;
                    }
                    else {
                      uVar34 = uVar18 & 0xff;
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);
                    fVar50 = pfVar27[0xb4];
                    if ((pfVar27[0xaf] != 0.0) &&
                       ((*(int *)((int)fVar50 + 0x34) == 0 ||
                        (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <
                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))))) {
                      uVar17 = uVar17 | 0xffffff80;
                    }
                    fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);
                    if (0.0 < fVar50) {
                      dVar62 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8))
                               / *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                      if (dVar62 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                        (**(code **)(puVar52 + 0xf0e40))(dVar62 + *(double *)(iVar23 + 0x1400));
                        uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_07 & 0xff) << 2));
                      }
                      else {
                        uVar17 = uVar17 | 0xfffffffc;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);
                  }
                  else {
                    if (fVar59 <= 0.0) {
                      uVar17 = 0;
                    }
                    else {
                      dVar62 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);
                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {
                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                        }
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
                        uVar17 = 0xff;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);
                    if (fVar50 <= 0.0) {
                      uVar17 = 0;
                    }
                    else {
                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {
                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                        }
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
                        uVar17 = 0xff;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);
                    if (fVar50 <= 0.0) {
                      uVar17 = 0;
                    }
                    else {
                      dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                      if (dVar62 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410) <= dVar62) {
                          dVar62 = dVar62 - *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                        }
                        uVar17 = (int)dVar62 & 0xff;
                      }
                      else {
                        uVar17 = 0xff;
                      }
                    }
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                    if (pfVar27[0xaf] != 0.0) {
                      uVar17 = 0xff;
                      if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {
                        fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);
                        if (0.0 < fVar50) {
                          dVar62 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                          if (dVar62 < dVar60) {
                            dVar65 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                            dVar62 = dVar62 + *(double *)(iVar23 + 0x1400);
                            if (dVar65 <= dVar62) goto LAB_002b89a4;
                            goto LAB_002b8a58;
                          }
                          goto LAB_002b93cc;
                        }
                        goto LAB_002b8944;
                      }
                      goto LAB_002b8948;
                    }
                  }
                }
                fVar50 = pfVar27[6];
                iVar51 = 0;
                iVar19 = iVar44 * iVar48 + iVar19;
              }
              else {
LAB_002b8a88:
                iVar51 = *(int *)(puVar52 + 0xf0dcc);
                uVar17 = iVar49 - 1;
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);
                iVar49 = iVar19 - iVar49 * iVar48;
                dVar62 = *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1410);
                dVar65 = *(double *)(iVar45 + -0x5ae8);
                do {
                  fVar50 = pfVar27[0xb4];
                  if ((uVar26 & 3) == 1) {
                    if (*(int *)((int)fVar50 + 0x40) == 0) {
LAB_002b8cac:
                      uVar18 = 0;
                    }
                    else {
                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x44) * 4);
                      if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {
                        uVar18 = (int)fVar50 & 0xff;
                      }
                      else {
                        uVar18 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) &
                                 0xff;
                      }
                    }
LAB_002b8cb0:
                    (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                  }
                  else {
                    fVar59 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x20) * 4);
                    if ((uVar26 & 3) == 3) {
                      fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                               *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4) *
                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                               *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4) *
                               *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);
                      if (fVar50 <= 0.0) goto LAB_002b8cac;
                      dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                      if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                        dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                        if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                          uVar18 = (int)(dVar66 - *(double *)(iVar51 + 0x1410)) & 0xff;
                        }
                        else {
LAB_002b9048:
                          uVar18 = (int)dVar66 & 0xff;
                        }
                      }
                      else {
                        uVar18 = 0xff;
                      }
                      goto LAB_002b8cb0;
                    }
                    if (pfVar27[8] == 7.00649e-45) {
                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 0x14) * 4);
                      if (fVar50 <= 0.0) {
                        uVar18 = 0;
                        uVar30 = 0;
                        uVar34 = 0;
                      }
                      else {
                        dVar66 = ((double)fVar50 *
                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));
                          uVar34 = (extraout_v1_02 & 0xff) << 5;
                          uVar18 = ((extraout_v1_02 & 0xff) << 0x1b) >> 0x1e;
                          uVar30 = (uint)(char)uVar34;
                        }
                        else {
                          uVar18 = 3;
                          uVar30 = 0xffffffe0;
                          uVar34 = 0x1fe0;
                        }
                      }
                      if (NAN(fVar59)) {
                        uVar30 = uVar30 & 0xff;
                      }
                      else if (0.0 < fVar59) {
                        dVar66 = ((double)fVar59 *
                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));
                          uVar30 = (uVar30 | extraout_v1_03) & 0xff;
                        }
                        else {
                          uVar30 = 0xff;
                        }
                      }
                      else {
                        uVar30 = uVar34 & 0xff;
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar30);
                      if (pfVar27[0xaf] == 0.0) {
                        fVar50 = pfVar27[0xb4];
                      }
                      else {
                        fVar50 = pfVar27[0xb4];
                        if ((*(int *)((int)fVar50 + 0x34) == 0) ||
                           (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <
                            *(float *)(iVar49 + *(int *)((int)fVar50 + 0x38) * 4))) {
                          uVar18 = uVar18 | 0xffffff80;
                        }
                      }
                      fVar50 = *(float *)(iVar49 + *(int *)((int)fVar50 + 8) * 4);
                      if (0.0 < fVar50) {
                        dVar66 = ((double)fVar50 *
                                 *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                                 *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                        if (dVar66 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                          (**(code **)(puVar52 + 0xf0e40))(dVar66 + *(double *)(iVar23 + 0x1400));
                          uVar18 = (uint)(char)((byte)uVar18 | (byte)((extraout_v1_04 & 0xff) << 2))
                          ;
                        }
                        else {
                          uVar18 = uVar18 | 0xfffffffc;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18 & 0xff);
                    }
                    else {
                      if (fVar59 <= 0.0) {
                        uVar18 = 0;
                      }
                      else {
                        dVar66 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);
                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);
                          }
                          uVar18 = (int)dVar66 & 0xff;
                        }
                        else {
                          uVar18 = 0xff;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);
                      if (fVar50 <= 0.0) {
                        uVar18 = 0;
                      }
                      else {
                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);
                          }
                          uVar18 = (int)dVar66 & 0xff;
                        }
                        else {
                          uVar18 = 0xff;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                      fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 8) * 4);
                      if (fVar50 <= 0.0) {
                        uVar18 = 0;
                      }
                      else {
                        dVar66 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                        if (dVar66 < *(double *)(iVar45 + -0x5ae8)) {
                          dVar66 = dVar66 + *(double *)(iVar23 + 0x1400);
                          if (*(double *)(iVar51 + 0x1410) <= dVar66) {
                            dVar66 = dVar66 - *(double *)(iVar51 + 0x1410);
                          }
                          uVar18 = (int)dVar66 & 0xff;
                        }
                        else {
                          uVar18 = 0xff;
                        }
                      }
                      (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar18);
                      if (pfVar27[0xaf] != 0.0) {
                        uVar18 = 0xff;
                        if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {
                          fVar50 = *(float *)(iVar49 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);
                          if (fVar50 <= 0.0) goto LAB_002b8cac;
                          dVar66 = (double)fVar50 / dVar69;
                          uVar18 = 0xff;
                          if (dVar66 < dVar65) {
                            dVar66 = dVar66 + dVar67;
                            if (dVar66 < dVar62) goto LAB_002b9048;
                            uVar18 = (int)(dVar66 - dVar62) & 0xff;
                          }
                        }
                        goto LAB_002b8cb0;
                      }
                    }
                  }
                  uVar17 = uVar17 - 1;
                  iVar49 = iVar49 + iVar48;
                } while (uVar17 != 0xffffffff);
                iVar51 = 0;
                if (!bVar1) goto LAB_002b873c;
                fVar50 = pfVar27[6];
              }
LAB_002b869c:
              iVar49 = iVar51;
            } while ((int)fStack_1ec < (int)fVar50);
          }
        }
        else if (0 < (int)fVar50) {
          iVar51 = 0;
          iVar45 = *(int *)(puVar52 + 0xf0dd4);
          iVar49 = *(int *)(puVar52 + 0xf0dcc);
          dVar65 = *(double *)(iVar37 + -0x5af0);
          dVar66 = *(double *)(iVar45 + -0x5ae8);
          dVar62 = *(double *)(iVar23 + 0x1400);
          dVar60 = *(double *)(iVar49 + 0x1410);
          do {
            fVar50 = pfVar27[0xb4];
            if ((uVar26 & 3) == 1) {
              if (*(int *)((int)fVar50 + 0x40) == 0) {
LAB_002b8324:
                uVar17 = 0;
              }
              else {
                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x44) * 4);
                if (fVar50 < *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) {
                  uVar17 = (int)fVar50 & 0xff;
                }
                else {
                  uVar17 = (int)(fVar50 - *(float *)(*(int *)(puVar52 + 0xf0dd0) + -0x51e0)) & 0xff;
                }
              }
LAB_002b8328:
              (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
            }
            else {
              fVar59 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x20) * 4);
              if ((uVar26 & 3) == 3) {
                fVar50 = fVar59 * *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f68) +
                         *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4) *
                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f60) +
                         *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4) *
                         *(float *)(*(int *)(puVar52 + 0xf0dd4) + 0x4f64);
                if (fVar50 <= 0.0) goto LAB_002b8324;
                dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                  dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                  if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                    uVar17 = (int)(dVar54 - *(double *)(iVar49 + 0x1410)) & 0xff;
                  }
                  else {
LAB_002b8e7c:
                    uVar17 = (int)dVar54 & 0xff;
                  }
                }
                else {
                  uVar17 = 0xff;
                }
                goto LAB_002b8328;
              }
              if (pfVar27[8] == 7.00649e-45) {
                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 0x14) * 4);
                if (fVar50 <= 0.0) {
                  uVar17 = 0;
                  uVar34 = 0;
                  uVar18 = 0;
                }
                else {
                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));
                    uVar18 = (extraout_v1 & 0xff) << 5;
                    uVar17 = ((extraout_v1 & 0xff) << 0x1b) >> 0x1e;
                    uVar34 = (uint)(char)uVar18;
                  }
                  else {
                    uVar17 = 3;
                    uVar34 = 0xffffffe0;
                    uVar18 = 0x1fe0;
                  }
                }
                if (NAN(fVar59)) {
LAB_002b8f78:
                  uVar34 = uVar34 & 0xff;
                }
                else if (0.0 < fVar59) {
                  dVar54 = ((double)fVar59 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));
                    uVar34 = uVar34 | extraout_v1_00;
                    goto LAB_002b8f78;
                  }
                  uVar34 = 0xff;
                }
                else {
                  uVar34 = uVar18 & 0xff;
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar34);
                if (pfVar27[0xaf] == 0.0) {
                  fVar50 = pfVar27[0xb4];
                }
                else {
                  fVar50 = pfVar27[0xb4];
                  if ((*(int *)((int)fVar50 + 0x34) == 0) ||
                     (*(float *)(*(int *)(puVar52 + 0xf0dcc) + 0x3708) <
                      *(float *)(iVar19 + *(int *)((int)fVar50 + 0x38) * 4))) {
                    uVar17 = uVar17 | 0xffffff80;
                  }
                }
                fVar50 = *(float *)(iVar19 + *(int *)((int)fVar50 + 8) * 4);
                if (0.0 < fVar50) {
                  dVar54 = ((double)fVar50 * *(double *)(*(int *)(puVar52 + 0xf0dd8) + -0x62d8)) /
                           *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a58);
                  if (dVar54 < *(double *)(*(int *)(puVar52 + 0xf0dcc) + 0x1a60)) {
                    (**(code **)(puVar52 + 0xf0e40))(dVar54 + *(double *)(iVar23 + 0x1400));
                    uVar17 = (uint)(char)((byte)uVar17 | (byte)((extraout_v1_01 & 0xff) << 2));
                  }
                  else {
                    uVar17 = uVar17 | 0xfffffffc;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17 & 0xff);
              }
              else {
                if (fVar59 <= 0.0) {
                  uVar17 = 0;
                }
                else {
                  dVar54 = (double)fVar59 / *(double *)(iVar37 + -0x5af0);
                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);
                    }
                    uVar17 = (int)dVar54 & 0xff;
                  }
                  else {
                    uVar17 = 0xff;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x14) * 4);
                if (fVar50 <= 0.0) {
                  uVar17 = 0;
                }
                else {
                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);
                    }
                    uVar17 = (int)dVar54 & 0xff;
                  }
                  else {
                    uVar17 = 0xff;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 8) * 4);
                if (fVar50 <= 0.0) {
                  uVar17 = 0;
                }
                else {
                  dVar54 = (double)fVar50 / *(double *)(iVar37 + -0x5af0);
                  if (dVar54 < *(double *)(iVar45 + -0x5ae8)) {
                    dVar54 = dVar54 + *(double *)(iVar23 + 0x1400);
                    if (*(double *)(iVar49 + 0x1410) <= dVar54) {
                      dVar54 = dVar54 - *(double *)(iVar49 + 0x1410);
                    }
                    uVar17 = (int)dVar54 & 0xff;
                  }
                  else {
                    uVar17 = 0xff;
                  }
                }
                (**(code **)(puVar52 + 0xf14c8))(pfVar27,uVar17);
                if (pfVar27[0xaf] != 0.0) {
                  uVar17 = 0xff;
                  if (*(int *)((int)pfVar27[0xb4] + 0x34) != 0) {
                    fVar50 = *(float *)(iVar19 + *(int *)((int)pfVar27[0xb4] + 0x38) * 4);
                    if (fVar50 <= 0.0) goto LAB_002b8324;
                    dVar54 = (double)fVar50 / dVar65;
                    uVar17 = 0xff;
                    if (dVar54 < dVar66) {
                      dVar54 = dVar54 + dVar62;
                      if (dVar54 < dVar60) goto LAB_002b8e7c;
                      uVar17 = (int)(dVar54 - dVar60) & 0xff;
                    }
                  }
                  goto LAB_002b8328;
                }
              }
            }
            iVar51 = iVar51 + 1;
            iVar19 = iVar19 + iVar48;
          } while (iVar51 < (int)pfVar27[6]);
        }
        fVar50 = pfVar27[7];
        fVar38 = (float)((int)fVar38 + 1);
        if ((uint)fVar50 <= (uint)fVar38) {
          fStack_1a0 = (float)((int)fStack_1a0 + 1);
          fVar38 = fStack_1a0;
        }
        if (pfVar27[0xcd9] == 0.0) {
          iVar19 = (**(code **)(puVar52 + 0xf11a0))
                             (pfVar27,*(int *)(puVar52 + 0xf0dd8) + -0x15c,iVar6,uStack_1c8,0,fVar50
                             );
          if (iVar19 == 0) break;
          fVar50 = pfVar27[7];
        }
        uVar17 = uStack_1c8 + 1;
        iVar6 = (uint)(uVar17 < uStack_1c8) + iVar6;
        uStack_1c8 = uVar17;
      } while ((int)uVar17 < (int)fVar50);
    }
    (**(code **)(puVar52 + 0xf1b74))(pfVar27);
    return (float *)0x1;
  }
  (**(code **)(puVar52 + 0xf140c))
            (pfVar31,*(int *)(puVar52 + 0xf0e38) + 0x3720,*(int *)(puVar52 + 0xf0e38) + 0x3788,0x353
             ,0x1d1,*(int *)(puVar52 + 0xf0dcc) + 0x1284,*(int *)(puVar52 + 0xf0dcc) + 0x3e28,
             pfVar27 + 0xd0);
  pfVar31 = pfVar27;
  if (pfVar5[3] == 0.0) {
    pcVar53 = *(code **)(puVar52 + 0xf1b74);
  }
  else {
    do {
      pfVar27 = pfVar31;
      pcVar53 = *(code **)(puVar52 + 0xf1b74);
      pfVar31 = (float *)pfVar27[0xcd9];
    } while ((float *)pfVar27[0xcd9] != (float *)0x0);
  }
LAB_002b7c64:
  (*pcVar53)(pfVar27);
  return (float *)0x0;
}

